LoginSignup
4
5

More than 3 years have passed since last update.

MariaDB が systemctl で起動できない問題の解決方法

Last updated at Posted at 2020-07-03

Ubuntu 20.04 で mysql-server を削除してから、mariadb-server をインストールすると、MariaDB が systemctl で起動できないという問題が発生しました。

次の記事の通りに行って問題が解決しました。
Ubuntuでmysql-serverをmariadb-serverで置き換えるとsystemd経由でmariadbが起動できない

問題発生時の状況
しばらく、MariaDB は動いているが、しばらくして止まります。

$ sudo systemctl start mysql
Job for mariadb.service failed because a timeout was exceeded.
See "systemctl status mariadb.service" and "journalctl -xe" for details.

解決方法です。

$ sudo aa-remove-unknown
Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
Removing '/usr/sbin/mysqld'

MariaDB を起動します。

sudo systemctl start mysql

2020-7-21 に同じ問題が発生しました。
トリガーとなったのは、カーネルを上げたことです。

次のようなログが出ていました。

2020-07-21  9:52:49 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2020-07-21  9:52:49 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2020-07-21  9:52:49 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2020-07-21  9:52:49 0 [Note] InnoDB: Waiting for purge to start

しばらくは、mysql が動いているのですが、systemd がタイムアウトになり、mysql も停止します。

結局、解決方法は、

$ sudo aa-remove-unknown
Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
Removing '/usr/sbin/mysqld'

2020-7-22 に同じ問題が発生しました。

原因は再起動です。
恒久的な解決でないことが分かりました。

次の対策を打ってみました。

sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/

参考ページ
Ubuntu 18.04: AppArmorで強制アクセス制御

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5