6
Help us understand the problem. What are the problem?

posted at

updated at

Organization

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

はじめに

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

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
6
Help us understand the problem. What are the problem?