我刚刚在sudo apt install mariadb-server mariadb-client
的ubuntu19.10中安装了mariadb,当我试图通过sudo systemctl start mariadb.service
启动服务器时,获得冻结后,我必须使用Ctl+c
来运行shell。在状态下,它显示的是activating(start)
~$ sudo systemctl status mariadb.service
mariadb.service - MariaDB 10.3.22 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: activating (start) since Mon 2020-04-20 08:44:57 IST; 5min ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 10705 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 10707 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 10711 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSRE
Main PID: 10759 (mysqld)
Tasks: 15 (limit: 4915)
Memory: 64.6M
CGroup: /system.slice/mariadb.service
└─10759 /usr/sbin/mysqld
Apr 20 08:44:57 TheCybertron systemd[1]: Starting MariaDB 10.3.22 database server...
Apr 20 08:44:57 TheCybertron mysqld[10759]: 2020-04-20 8:44:57 0 [Note] /usr/sbin/mysqld (mysqld 10.3.22-MariaDB-0ubuntu0.19.10.1) starting as process 10759 ...
发布于 2020-07-07 20:00:42
您可能预先安装了MySQL。这是一个已知的错误: MySQL安装一个AppArmor配置文件,而MariaDB包无法正确卸载它(参见详细信息关于洗衣板)。
您可以使用这些命令来解决问题(根据上面提到的bug改编):
sudo systemctl stop mariadb
echo "/usr/sbin/mysqld { }" | sudo tee /etc/apparmor.d/usr.sbin.mysqld
sudo apparmor_parser -v -R /etc/apparmor.d/usr.sbin.mysqld
这应该显示Removal succeeded for "/usr/sbin/mysqld".
那么,非常重要的是:
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/usr.sbin.mysqld
如果没有这一点,一些AppArmor配置文件会在重新启动后返回(从哪里不确定),从而阻止MariaDB加载(无法加载libaio)。
然后可以使用MariaDB启动sudo systemctl start mariadb
。
https://serverfault.com/questions/1013128
复制相似问题