我最近安装了 Arch Linux x64,我想安装 LAMP 堆栈。一切正常,直到我到达我安装但无法启动的 MySQL 部分。的输出
sudo systemctl start mysqld
给出:
Job for mysqld.service failed because a timeout was exceeded. See "systemctl status mysqld.service" and "journalctl -xe" for details.
Run Code Online (Sandbox Code Playgroud)
这是systemctl status mysqld.service
输出:
* mysqld.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
Active: activating (start-post) (Result: exit-code) since Fri 2015-07-17 22:31:04 CET; 20s ago
Process: 9548 ExecStart=/usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid (code=exited, status=1/FAILURE)
Main PID: 9548 (code=exited, status=1/FAILURE); : 9549 (mysqld-post)
CGroup: /system.slice/mysqld.service
`-control
|-9549 /bin/sh …
Run Code Online (Sandbox Code Playgroud) 升级到 debian 9 后,我在尝试执行以下操作时遇到此问题apt-get upgrade
:
Failed to start MariaDB database server
这是日志:
设置 mariadb-server-10.1 (10.1.23-9+deb9u1) ... mariadb.service 的作业失败,因为控制进程退出并显示错误代码。 有关详细信息,请参阅“systemctl status mariadb.service”和“journalctl -xe”。 invoke-rc.d:initscript mysql,操作“启动”失败。 ? mariadb.service - MariaDB 数据库服务器 已加载:已加载(/lib/systemd/system/mariadb.service;已启用;供应商预设:已启用) 活动:自 CEST 2017-07-05 星期三 15:44:03 起失败(结果:退出代码);9 毫秒前 进程:9713 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE) 进程:9623 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [$? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || 退出 1(代码=退出,状态=0/成功) 进程:9619 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) 进程:9616 ExecStartPre=/usr/bin/install -m …
我正在运行 Debian 9 (stretch) 并且刚刚尝试运行apt-get update
并apt-get upgrade
更新我的(测试)网络服务器作为定期维护的一部分。
apt-get upgrade
说:
以下软件包已被保留: linux-image-amd64 mariadb-client-10.1 mariadb-server mariadb-server-10.1 mariadb-server-core-10.1
我明白这apt-get upgrade
是明智的,谨慎对待软件包更新,并且只会更新已经安装的软件包,而不是引入任何新的附加依赖项。(我已经看过这个较旧的相关问题。)
我知道我可以改为运行apt-get dist-upgrade
以“强制”安装依赖项。我只是想知道这些 MariaDB 更新是否有任何特殊原因被阻止,以及是否有任何方法可以判断安装它们是否有风险?
(是的,这只是一个测试服务器,所以如果我尝试升级但它以某种方式失败了,这不会是最糟糕的事情(然后我会知道我应该忽略实时服务器的这些更新),但我只是想知道如果有任何方法可以找出这些软件包可能存在的问题(例如找出预期安装的版本,以及我可以参考的 Debian 软件包发行说明中是否有任何内容)? )
目前,我安装了以下版本:
我主要关心的是尽可能确保我的服务器是最新的安全更新。
我使用此处给出的说明在装有 CentOS 的计算机上安装了 MariaDB:
MariaDB 包存储库设置和使用 - MariaDB 知识库
我使用的基本命令是:
sudo yum install MariaDB-server MariaDB-client
Run Code Online (Sandbox Code Playgroud)
而且我没有安装 Maxscale 或 percona。
MariaDB 安装已成功完成,但现在如果我在 bash shell 中输入尚未卸载的命令,则会收到此错误:
Failed to search for file: Failed to download gpg key for repo 'mariadb-main': Curl error (37): Couldn't read a file:// file for file:///etc/pki/rpm-gpg/MariaDB-Server-GPG-KEY [Couldn't open file /etc/pki/rpm-gpg/MariaDB-Server-GPG-KEY]
Run Code Online (Sandbox Code Playgroud)
例如,如果我输入命令 ftp,以前我会收到一条消息,指示 ftp 未安装,并且我会得到一些关于我的意思和想要下载的命令的建议。但是,现在我明白了:
[username@localhost ~]$ ftp
bash: ftp: command not found...
Failed to search for file: Failed to download gpg key for repo 'mariadb-main': Curl error (37): Couldn't …
Run Code Online (Sandbox Code Playgroud) 我的根分区上没有足够的空间来存储数据库。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ManjaroVG-ManjaroRoot 29G 21G 6.4G 77% /
dev 1.9G 0 1.9G 0% /dev
run 1.9G 852K 1.9G 1% /run
tmpfs 1.9G 76K 1.9G 1% /dev/shm
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
tmpfs 1.9G 596K 1.9G 1% /tmp
/dev/mapper/ManjaroVG-ManjaroHome 197G 54G 133G 29% /home
/dev/sda1 247M 88M 147M 38% /boot
tmpfs 383M 8.0K 383M 1% /run/user/1000
Run Code Online (Sandbox Code Playgroud)
在 my.datadir 中更改数据目录 cnf
到新位置导致权限问题([警告] 无法创建测试文件/home/u/tmp/mysql/acpfg.lower-test
)
如何在 Linux 下更改 MariaDB/MySQL 存储数据库的目录(例如到 /home/u/tmp/mysql)?
我怎样才能让 Mariadb 再次运行?我的 WordPress 网站正在返回:
建立数据库连接时出错
看来我的数据库已关闭。(我将 Ubuntu 19.04 更新到 19.10 并且遇到了多个问题。)
我继续检查 MySQL 安装的软件包,忘记了我实际上使用的是 Mariadb。
所以我安装了MySQL;发现我不应该那样做;删除了 MySQL;并按照这些说明安装 Mariadb 10.4。
sudo apt install mariadb-server
正在返回:
无法安装某些软件包。这可能意味着您请求了一个不可能的情况,或者如果您使用的是不稳定的发行版,一些必需的包尚未创建或已从 Incoming 中移出。以下信息可能有助于解决这种情况:
以下软件包具有未满足的依赖项:
mariadb-server : 取决于: mariadb-server-10.4 (>= 1:10.4.8+maria~disco) 但它不会被安装
所以我通过做(来源)删除了 Mariadb
apt-get remove --purge mysql*
apt-get remove --purge mysql
apt-get remove --purge mariadb
apt-get remove --purge mariadb*
apt-get --purge remove mariadb-server
apt-get --purge remove python-software-properties
Run Code Online (Sandbox Code Playgroud)
并尝试使用上述相同的指南再次重新安装它:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Run Code Online (Sandbox Code Playgroud)
最后一条命令 …
遵循AWS 文档,我尝试启动并运行基本的 LAMP 服务器。一切似乎都运行良好。通过终端或 phpMyAdmin (GUI) 登录 MySQL 即可。
\n但是,当我检查 MariaDB 的状态时,出现错误并且不确定如何解决它。
\n[ec2-user@ip-172-31-30-51 ~]$ sudo systemctl status mariadb\xe2\x97\x8f mariadb.service - \n\nMariaDB 10.2 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/mariadb.service.d \xe2\x94\x94\xe2\x94\x80override.conf /usr/lib/systemd/system/mariadb.service.d \xe2\x94\x94\xe2\x94\x80tokudb.conf Active: active (running) since Sat 2021-11-13 16:52:39 UTC; 37s ago Process: 3087 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)\n Process: 2837 ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n (code=exited, status=0/SUCCESS)\n Process: 2801 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)\n Main PID: 2943 (mysqld)\n Status: "Taking your SQL requests now..."\n CGroup: /system.slice/mariadb.service\n \xe2\x94\x94\xe2\x94\x802943 /usr/libexec/mysqld …
Run Code Online (Sandbox Code Playgroud) 我刚刚在 Kubuntu 15.10 上安装了 MariaDB。我可以通过从操作系统对用户进行身份验证的插件以 root 用户身份登录。(这对我来说是新的,所以我正在学习它,而不是像大多数教程推荐的那样删除插件身份验证。)
现在我想创建一个非 root 用户并授予该用户所有权限,并允许用户无需密码(仅使用插件)即可登录 mysql(在 localhost 上)。我该怎么做?我也需要给用户一个密码吗?
mariadb ×8
mysql ×4
arch-linux ×2
debian ×2
amazon-ec2 ×1
apt ×1
centos ×1
dependencies ×1
unix-sockets ×1
upgrade ×1
yum ×1