サーバーで毎日バックアップしている.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フォルダにコピー
11行目:.sql.gzファイルを解凍する
14行目:レストア実行。
この時「[Warning] Using a password on the command line interface can be insecure.」という警告がでるが、処理は成功した。この警告はコマンドラインにパスワードを記載しているため表示される。
度々行う処理なのでメモしておく。