8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Docker/MySQL】DBバックアップの取得・復元する手順

Last updated at Posted at 2022-04-14

はじめに

RailsアプリケーションでDBにMySQLを使用して開発しており、DBのデータを一時的に残して作業をしたいことがありました。
本記事では、バックアップと復元方法の手順を記述しています。

前提

Ruby: 2.7.3
Rails: 6.1.5
MySQL: 8.27
Docker: 20.10.5

開発環境構成図

docker-composeコマンドを実行してRailsコンテナとDBコンテナを立ち上げています。
今回はDBコンテナに接続しバックアップ作業を行います。

スクリーンショット 2022-04-14 12.45.13.png

作業内容

Dockerコンテナにログイン

バックアップ取得、復元作業はコンテナ内で行います。

docker exec -it DBコンテナ名 bash

バックアップ取得

今回は特定のDBのみバックアップを取得しています。

バックアップコマンドには複数オプションが存在するので適宜、必要なオプションを追加してください。
https://dev.mysql.com/doc/refman/5.6/ja/mysqldump.html

mysqldump --single-transaction -u DBユーザ名 -p -h DBコンテナ名 DB名 > 出力先ファイル名.dump

復元

mysql -u ユーザー名 -p -h DBコンテナ名 データベース名 < 出力先ファイル名.dump

dumpファイルの削除

サービスの起動を確認し問題がなければ、作成されたdumpファイルの削除して完了です。

参考URL

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?