以下の内容はhttps://mattintosh-note.jp/entry/20220629/1656508486より取得しました。


Docker ComposeでMySQLコンテナのダンプとかリストアしたり

大抵の場合はホストにポートをバインドしているのでホストの MySQL クライアントから接続できると思うが、ポートをバインドしていなかったりホスト側に MySQL クライアントが無かったりする場合。

  • MySQL コンテナ名: db
  • ユーザー: admin
  • パスワード: password
  • データベース: wordpress

コンテナ内でサーバに接続

docker-compose exec db mysql -u admin -p

コンテナ内でデータベースに接続

docker-compose exec db mysql -u admin -p wordpress

コンテナ内でダンプしてホストで受け取る

MySQL コンテナ内では docker-compose.yml で設定している MYSQL_PASSWORD 環境変数が存在するのでシェルから呼び出す。ホストのシェルに変数が展開されないようにする必要がある。

docker-compose exec db sh -c 'MYSQL_PWD=$MYSQL_PASSWORD mysqldump -u admin wordpress' > wordpress.sql

ホストから標準出力してコンテナ内でリストア

docker-compose exec -T db sh -c 'MYSQL_PWD=$MYSQL_PASSWORD mysql -u admin wordpress' < wordpress.sql

-pPASSWORD でも出来るけどよろしくないので省略。




以上の内容はhttps://mattintosh-note.jp/entry/20220629/1656508486より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14