LoginSignup
4
3

More than 3 years have passed since last update.

docker上のDBコンテナからダンプ / リストアする方法

Posted at

dockerでDBサーバーを2つ建ててレプリケーションの設定をしていました。
で、masterからslaveにDBをダンプして移したかったのですが、調べてもなかなかうまくいかなかったので。

1.ダンプする方法

docker exec <db_container_id> mysqldump -u root -p<password> <dbname> > dump.sql

ダンプって失敗しても特に音沙汰なしと言いますか、エラーがでなくて「できた」と思ったら空っぽだったりします。

less dump.sql

これでそれっぽいデータが入っているか確認したらちょっと安心です。

2.リストアする方法
scpでdump.sqlを一方のサーバーから他方のサーバーに移動させました。
で、他方のサーバーにてリストアをします

docker exec -i <container_id> mysql -u root -p<password> <dbname> < dump.sql

障害対応時にもこういうことをやることって沢山ありそうなのでスムーズにできるようになったら焦らずに済むかなと思います。
DBの復旧ってだいぶやばい事故な気がするのでできればやる機会は訪れないでほしいですが。。。

今度レプリケーションや自動フェイルオーバーについても書きたいです。

4
3
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
4
3