MySQLのmysqldumpでバックアップ&復元を行う方法
バックアップ
mysqldump のバックアップは、SQL ベースのバックアップが可能です。
存在するデータをすべて SQL にしてテキスト形式に保存できます。
$ mysqldump -u root -x --all-databases > dump.sql
これですべてのデータベースのバックアップが可能です。
特定のデータベースのみのバックアップの場合は、
$ mysqldump -u root [データベース名] > dump.sql
としてバックアップ可能です。
バックアップのときパスワードを指定する方法
下記のようにパラメータを指定したコマンドを実行するシェルを作成して cron で実行することで、自動的にバックアップを行うことができます。
mysqldump -h 127.0.0.1 -u [username] -p[password] --single-transaction [databasename] > [backupfilename]
[username]、[password]、[databasename]、[backupfilename]に環境に合わせた値を指定してください。
ここで、注意点が一つあります。
-p[password]
この部分ですが、-p の後にスペースを入れてはいけません。スペースを入れてしまうと、パスワードを聞いてくるようになります。
リストア
mysqldump のすべてのデータベースのバックアップを復元するには、
$ mysql -u root -p < dump.sql
のように、mysql クライアントにファイルの内容を入力してあげるだけです。
特定データベースのみの復元は
$ mysql -u root [データベース名] < dump.sql
のようにします。