Docker内のmysqlに.sql.gzファイルをリストアする方法

サーバーで毎日バックアップしている.sql.gzファイルをdockerで構築している開発環境のmysqlにダンプする方法をメモします。

リストア手順

  • dockerのルートフォルダに、test.sql.gzファイルを配置する。
  • コマンドプロンプトを開いていdockerのルートフォルダまで移動する。
  • 以下のコマンドを実行する。
# コピー
docker cp ./test.sql.gz {コンテナ名}:/tmp/test.sql.gz

# dockerに入る
docker container exec -it {コンテナ名} bash

# 移動
cd tmp

# ファイルを解凍
gunzip test.sql.gz

# リストア
mysql -uroot -p{パスワード} {DB名} < /tmp/test.sql

2行目:test.sql.gzファイルをmysqlのコンテナの/tmpフォルダにコピー

DBコンテナへコピー

11行目:.sql.gzファイルを解凍する

14行目:レストア実行。
この時「[Warning] Using a password on the command line interface can be insecure.」という警告がでるが、処理は成功した。この警告はコマンドラインにパスワードを記載しているため表示される。

度々行う処理なのでメモしておく。

Share this content: