Dockerでmariadb起動せず

docker logo docker

docker logo

事象

オンプレの本番環境に合わせるため、

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

再帰的にやらないとだめだった。

 

コメント

タイトルとURLをコピーしました