Dockerでmariadb起動せず
公開日: : docker
事象
オンプレの本番環境に合わせるため、
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 @[email protected]/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
再帰的にやらないとだめだった。
Googleアドセンスレスポンシブ
関連記事
-
docker-compose CentOSコンテナとかでResterting…にならんように常時起動にする
command: /sbin/init を記述する。 ↑↑の、最下部のやつ。
-
dockerでnginx-proxy 使って502 Bad Gateway が出る原因
環境 nginx-proxyは、jwilder/nginx-proxy
-
dockerのコンテナに作成したnfsサーバにマウントできない
事象 mount.nfs: access denied by server w
-
dockerにリビルドは無い
タイトルの通りです。 基本的にgitみたいに差分だけを当てるという概念ではないようです
-
dockerのjwilder/nginx-proxy に443(https)でアクセスした際に接続が拒否される
事象 タイトルの通り。 原因 docker-composeを使って、 ssl証明書のディ
-
serviceコマンドが使えないdockerコンテナ内のapacheを再起動したり
config test httpd -t apache再起動 httpd -k
-
docker イメージ作成
手順 1. dockerコンテナが動いてたらstopする。
-
CentOS7でdockerとdocker-composeをセットアップするメモ
rootになる su - sudo コマンド って解説してるサイト多いです
-
serviceコマンドが使えないdockerコンテナ内のapacheを再起動したり
httpdが入ったコンテナで実行する docker exec -it コンテナ 等で
-
DockerのMySQLコンテナでDUMPとRESTOREする
参考リンク こちらがすべてです。(Thank you!!) # Backup dock