事象
オンプレの本番環境に合わせるため、
CentOS7のコンテナにmariadbをyum installする形で準備した。
一度mac内で完成したので、みんなが見れるLinuxのテスト用サーバで実行した。
すると、mariadbが起動せず、
journalctl -xe で見てみると、以下のエラーが出力されていた。
Sep 08 13:40:17 acb30932277e mariadb-prepare-db-dir[4301]: chown: changing ownership of '/var/lib/mysql': Operation not permitted
Sep 08 13:40:17 acb30932277e mariadb-prepare-db-dir[4301]: chmod: changing permissions of '/var/lib/mysql': Operation not permitted
Sep 08 13:40:17 acb30932277e mariadb-prepare-db-dir[4301]: Initializing MariaDB database
Sep 08 13:40:19 acb30932277e mariadb-prepare-db-dir[4301]: chown: changing ownership of '/var/lib/mysql': Operation not permitted
Sep 08 13:40:19 acb30932277e mariadb-prepare-db-dir[4301]: Cannot change ownership of the database directories to the 'mysql'
Sep 08 13:40:19 acb30932277e mariadb-prepare-db-dir[4301]: user. Check that you have the necessary permissions and try again.
Sep 08 13:40:19 acb30932277e mariadb-prepare-db-dir[4301]: Initialization of MariaDB database failed.
Sep 08 13:40:19 acb30932277e mariadb-prepare-db-dir[4301]: Perhaps @sysconfdir@/my.cnf is misconfigured or there is some problem with permissions of /var/lib/mysql.
Sep 08 13:40:19 acb30932277e mariadb-prepare-db-dir[4301]: Initialization of MariaDB database was not finished successfully.
Sep 08 13:40:19 acb30932277e mariadb-prepare-db-dir[4301]: Files created so far will be removed.
Sep 08 13:40:19 acb30932277e systemd[1]: mariadb.service: control process exited, code=exited status=1
Sep 08 13:40:19 acb30932277e systemd[1]: Failed to start MariaDB database server.
原因
/var/lib/mysql のパーミッションがあかんというメッセージが吐かれていたのでおそらくそこ。
対応
chown -R mysql.mysql /var/lib/mysql
これで起動できるようになった。
だめだったやり方
chmod 777 /var/lib/mysql
chown mysql /var/lib/mysql
再帰的にやらないとだめだった。
コメント