mysql、postgresをdockerコンテナへ移行

mysqlのダンプをとるmysqldumpでDBサーバまるごとバックアップ

dumpをとる

mysqldump -u root -p -x --all-databases > mysql_dump.sql

コンテナへコピーする

docker cp mysql_dump.sql mysql-db:/tmp/mysql_dump.sql

起動中のコンテナへ入る

docker exec -it コンテナ名 /bin/bash

リストアする

mysql -u root -p < mysql_dump.sql

特定データベースのみリストア

mysql -u root データベース名 < mysql_dump.sql 

postgresのダンプをとるpg_dumpallでDBサーバまるごとバックアップ

postgresユーザーにする

 su - postgres

dumpをとる

pg_dumpall > pg_dump.sql

コンテナへdumpファイルをコピー

docker cp pg_dump.sql postgres-db:/tmp/pg_dump.sql

起動中のコンテナへ入る

docker exec -it コンテナ名 /bin/bash

postgresユーザーにする

 su - postgres

リストアする

psql -f pg_dump.sql