mysqlのバックアップについて。標準でついてるmysqldump,xtraBackup,Mydumpなどがある。

■mysqldump
標準でついてる。
・特定のDBのバックアップを取るとき。mysqldumpコマンドを使う。
>mysqldump -uhogeuser -p hogedb > hogedb.dump
hogedbというDBのバックアップをhogedb.dumpというファイルで出力。なか見たらただのsqldump。

テストのために、hogedbをdropする。そして、create database hogedbでdbを新規作成しておく(dumpファイルは、DB自体のバックアップは取ってくれないから)

復元
>mysql -uhogeuser -p hogedb < hogedb.dump

おわり、簡単。

ちなみにmysqlにあるDBすべてのバックアップを取るとき
mysqldump -u root -x --all-databases > dump.sql

参考:MySQLのdump(ダンプ)でデータをバックアップ/復元する MySQL基礎の基礎Add Star

■/var/lib/mysqlディレクトリ毎バックアップ

/var/lib/mysqlディレクトリ毎コピーでバックアップをとる。/var/lib/mysql/mysql.sockという中身が空のソケットファイルがあるから、cpコマンドに arオプションをつける必要がある。

参考:リストアとバックアップ: コピーコマンドによるバックアップ方法

■参考
MySQLバックアップツール比較 XtraBackup / mysqldump / Mydumper
Percona XtraBackupの基本的な使い方
XtraBackupを使ってMySQLをバックアップしよう
MySQL 5.6のInnoDB memcached pluginを使ってみる
Percona MySQL をさくらのVPSで使う