Dumpファイルが大きすぎてDBマネージャーからインポートできない時、DockerのDBコンテナにDumpファイルをcopyしてインポートする

データが大きいので、Mysqlのコンテナで直接Dumpをインポートする

ファイル名を以下と仮定する
  wp_postsテーブルのデータ以外のDump→rankingoo_db_sc.sql
  wp_postsの最新1000件程度のDump→wp_posts.sql

mysqlコンテナのIDを取得する

docker container ls

「NAMES」列で対象のコンテナを探し、その行の「CONTAINER ID」の文字列をcopyしておく。
今回は「897baf992bea」だった。

ローカルのファイルをコンテナにコピーする

docker cp ./hogehoge_db_sc.sql 897baf992bea:/tmp/hogehoge_db_sc.sql
docker cp ./wp_posts.sql 897baf992bea:/tmp/wp_posts.sql

コンテナのBashにアクセスする

docker exec -it fugafuga_db /bin/bash

コンテナの中でインポートする

//bash-4.4#(rankingoo_dbコンテナのbash)
mysql -u dbuser -p hogehoge_wp < /tmp/hogehoge_db_sc.sql
mysql -u dbuser -p hogehoge_wp < /tmp/wp_posts.sql

1行のコマンドを実行すると、都度パスワードを聴かれるので、
docker-compose.ymlに記載ている「dbpass」と入力してちょっと放置し、
処理が完了したら、次の1行のコマンドを実行する

コンテナから抜ける

//bash-4.4#(rankingoo_dbコンテナのbash)
exit

参考サイト

https://zenn.dev/isosa/articles/5d3fbb313b4086