mysqlhotcopy を使用してバックアップできるのは、MYISAM エンジンデータベースのみです。
インストール
yum install -y perl perl-DBI perl-DBD-MySQL
バックアップ専用のアカウントを作成する必要があります。
grant select,reload,lock tables on *.* to 'hotcopyer'@'localhost' identified by '123456';
一般的なオプションと例
mysqlhotcopy -u ... -p password -S /tmp/...sock ライブラリ名 バックアップ・ディレクトリ
# -u -p バイナリファイルをフラッシュするには、-flushlogを追加することができる。
mysqlhotcopy -u ... -p ... -S ... 元のデータベース名 新しいデータベース名 #新しいライブラリ・ディレクトリがmysql datadirの下に作成される。
- -q クワイエットモード
- --flushlog バイナリログを更新します。
データのリストア
- データベースを閉じます。
mysqladmin -uroot -p -S /mysql/data/mysql.sock shutdown
- datadirを削除するか、削除します。
元のデータを削除し、バックアップ・データ・ファイルを取り出してdatadirの下に戻し、ユーザとグループをmysqlに変更します。
cp -a バックアップファイルdatadir
chown mysql.mysql datadir
- データベースを再起動します。
service mysqld start