Docker内のMySQLからダンプを取得する

Docker上で運用しているMySQLサーバーから、ダンプを取得する方法を解説します。

環境

解説に使用する環境は、Docker Composeを使用した下記設定のものです。

docker-compose.yml
version: '3'
 services:
   # MySQL
   mysql:
     image: mysql:5.7
     container_name: dmysql
     environment:
       MYSQL_DATABASE: my_db
       MYSQL_ROOT_PASSWORD: rootpass
       MYSQL_USER: db_user
       MYSQL_PASSWORD: abcde
       TZ: 'Asia/Tokyo'
     command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
     volumes:
     - /opt/…
     restart: always
     ports:
     - 3310:3306

ダンプを取得する

ダンプを取得する際に使用するコマンドの基本形は、下記になります。

コマンド
mysqldump -u [ユーザー] -p -h localhost -P [ポート番号] --protocol=tcp [バックアップするDB名] > backup.sql

従って、下記コマンドをホスト側で実施します。

コマンド
mysqldump -u db_user -p -h localhost -P 3310 --protocol=tcp my_db > backup.sql

正常にbackup.sqlが生成されていれば成功です。

ダンプをインポートする

ダンプをインポートする際に使用するコマンドの基本形式は、下記になります。

コマンド
mysql -u root -p [インポート先DB名] < backup.sql

従って、下記コマンドをホスト側で実施します。

コマンド
mysql -u root -p my_new_db < backup.sql

正常にインポートが完了したら、データを確認しましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください