Mysqldump バックアップには独自の特性 (テーブルをロックする、基本的に挿入スクリプトまたはテキストをバックアップする、差分バックアップをサポートしない) があるため、高いリアルタイム パフォーマンスを必要とする状況には適していません
Xtrabackup で解決できます。 mysqldump の上記の問題 いくつかの問題は実稼働環境にさらに適用されます。
この記事では、Xtrabackup の MySQL データベースのバックアップおよび復元操作を簡単にテストします。
しかし、xtrabackup バージョン 2.4.7 でテストした場合、設定ファイルは必要ありませんでした。バージョンごとに詳細が異なる場合がありますので、参考資料を参照する際はバージョンや環境に注意してください。
innobackupex バックアップ
xtrabackup と MySQL のバージョンは次のとおりです フルバックアップinnobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock /data/backup
手順:
1.--defaults-file=/etc/my.cnf ファイルは先頭にある必要があります
2.--user=root --password=root、--use=*** および --password= * ** 間にスペースが必要です
スクリーンショットのように、完全バックアップは完了です
スクリーンショットのように、完全バックアップは日付(年、月、日)で名前を付けたファイルを作成します。 、時、分、秒、yyyy-MM-dd_hh-mm-ss)
完全バックアップによって生成されるメモリは、実際には、バックアップされたデータベースのデータ ファイルのコピーと、バックアップ中に生成されたいくつかの情報です
たとえば、 xtrabackup_checkpoints は、現在の完全バックアップの情報です。この情報は差分バックアップにとって非常に重要です。
差分バックアップ
差分バックアップが差分を実現できる理由は、完全バックアップをベースとして、完全バックアップ後に差分バックアップが実行されるためです。
完全バックアップ後のバックアップ先の決定方法は、完全バックアップ後の xtrabackup_checkpoints ファイルによって異なります。
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock --incremental /data/backup --incremental-basedir =/data/backup/2017-06-22_13-40-29
スクリーンショットのように、差分バックアップが完了しました
完全バックアップに指定したファイルが間違っているか、完全バックアップがされていない場合差分バックアップ ファイル中に指定した場合、xtrabackup_checkpoints ファイルが見つからないというメッセージが xtrabackup から表示されることがわかります。
innobackupexrestore
準備フェーズ
1.完全バックアップ、つまり完全バックアップアプリケーション(--apply-log)のログを復元します
innobackupex --defaults-file=/etc / my .cnf --apply-log --redo-only --socket=/var/lib/mysql/mysql.sock /data/backup/2017-06-22_13-40-29
2、それぞれ増分バックアップを実行します。完全バックアップに適用
innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only --socket=/var/lib/mysql/mysql.sock --incremental /data/backup /2017-06-22_13-40-29 --incremental-basedir=/data/backup/2017-06-22_13-41-48
複数の差分バックアップがある場合は、それぞれ差分バックアップをフルバックアップに適用します。
復元フェーズ
1. すべての差分バックアップを完全バックアップに適用した後、復元された差分バックアップを元のデータ ディレクトリにコピーします
デフォルトでは、データ パスにファイルがある場合、コピーは失敗するため、クリアされるデータ ファイル パス下のファイル。
innobackupex --copy-back /data/backup/2017-06-22_13-40-29
エラーログ(起動時のエラーメッセージ)を見てください。mysql5のデフォルトのエラーログです。 .7yum のインストールは /var/log/mysqld.log にあり、デフォルトではスクロールしません。つまり、すべてのエラー メッセージがこのファイルの中央に記録されます。
データ ファイルが復元されたら、データ ファイル パスを読み取り、読み取りおよび書き込み権限を付与する必要があります
ここでは、データ ファイル パス 777、chmod -R 777 /var/lib/mysql を直接承認します次に、mysql を起動しますサービスが正常に起動できるようになります。
xtrabackupexはまだ始まったばかりなので、たくさんの疑問が残っていますが、時間があるときに一つずつ検証していきます。
2. 完全 + 差分バックアップを使用し、それをバイナリ ログと組み合わせてポイントインタイム リストアを実行するにはどうすればよいですか?
3. バックアップファイルの有効性を確認するにはどうすればよいですか?
以上がxtrabackup MySQL データベースのバックアップと復元の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。