MySQLのバックアップをmysqldumpで行う

2014/12/29

MySQL

t f B! P L
悩んでいることを箇条書きにしてみると下記の通り。

・レンタルサーバ2台でMySQLのレプリケーションを行いたい。
・Masterの方でデータベースのバックアップを取る
・Slaveの方でデータベースを復元する

という3点を解決しようと考えている。

まずは、環境を確認していく。

Master側のMySQLのバージョンの確認
MasterのOSはUbuntu 14.04.1 LTSを利用しています。
$ mysql --version
mysql  Ver 14.14 Distrib 5.5.40, for debian-linux-gnu (i686) using readline 6.3

Slave側のMySQLのバージョンの確認
SlaveのOSはUbuntu 13.10を利用しています。
$ mysql --version
mysql  Ver 14.14 Distrib 5.5.37, for debian-linux-gnu (i686) using readline 6.2

Slave側のバージョンの方が若干古のはOSのバージョンの違いからくるものでしょう。
ただ、今回はMySQLのバージョンが5.5ですので、レプリケーション機能は両方とも備えています。
条件はクリアしましたので、実際の設定方法についてまとめていきたいと思います。

□Master側でmysqldumpを実行する。

$ mysqldump -u ユーザ名 -pパスワード データベース名 > 保存先のパス

※上の構文の実例を示します。

ユーザ名:kawamura
パスワード:BNlTyo8
データベース名:Ubuntu_Database
保存先のパス:/home/kawamura/Ubuntu_Database.sql

※なお、保存先のパスに書いたUbuntu_Database.sqlだが拡張子を付けなくても大丈夫。
ただ、CUI操作をするなかで、SQLのデータかどうかが問題になるので、今回は.sql拡張子をつけました。あくまで管理者のファイルをどう保存するかの習慣に当たるものですので、ご参考までに。

さて具体例です。

$mysql -u kawamura -pBNlTyo8 Ubuntu_Database > /home/kawamura/Ubuntu_Database.sql

という具合になりました。利用される場合はユーザー名、パスワード、データベース名、保存先のパスの項目をすべて自分の環境のものに読み替えてください。

□Slave側でのmysqldumpによる復元

まずはSlave側で、復元するのに必要なデータベースを作成します。
今回の実例に即していけば、Ubuntu_Databaseという名前でSlave側にデータベースを作成します。

つづきまして

$ mysqldum -u ユーザ名 -pパスワード データベース名 < バックアップしたデータ

構文は以上になります^^
mysqldumpでDBバックアップの巻でした。





このブログを検索

フォロワー

QooQ