3
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

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

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で強制アクセス制御

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
3
Help us understand the problem. What are the problem?