̃Gg[͂ĂȃubN}[Nɒlj

MySQL :: バックアップ専用のユーザーを作る



本エントリーでは以下について説明しています。

  1. バックアップに特化したユーザーを作る
  2. リモートサーバーからバックアップ(dump)を取得する
  3. バックアップ(dump)を復元する

バックアップ専用ユーザーの権限を設定する

mysql> GRANT SELECT, LOCK TABLES, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT ON *.* TO 'backup'@'%' identified by '<PASSWORD>';
  • ユーザー名を「backup」としていますが、お好きな名前で代替可能
  • @'%' : この % はすべてのホストからの接続を許可するという意味です。限定したい場合はIPアドレスまたはホスト名を指定します。
  • <PASSWORD> : 任意のパスワードを指定

バックアップ(dump)の取得

バックアップ専用ユーザーにてリモートサーバーからバックアップ(dump)を取得する

リモートサーバーにて次のコマンドを実行
% mysqldump -ubackup -p<PASSWORD> -h <IP_or_DOMAIN> -A --events --default-character-set=binary > /path/to/backup.dump
  • -ubackup : バックアップ用のユーザー名(この場合 backup)を指定
  • -A : すべてのデータベースに対して dump を行う
  • –events : mysql.event 関連のデータも dump を行う
  • –default-character-set=binary : 文字化けを回避するためキャラクターセットを binary にて dump を行う
gzip圧縮する場合
% mysqldump -ubackup -p<PASSWORD> -h <IP_or_DOMAIN> -A --events --default-character-set=binary | gzip > /path/to/backup.dump.gz

バックアップ(dump)の復元

% mysql <DATABASE_NAME> --default-character-set=binary < backup.dump





database/mysql/etc/backup_user.txt