このセクションでは,いくつかの種類のクラッシュ後にデータをリカバリできるようにするバックアップを実行するための手順について説明します。
オペレ,ティングシステムのクラッシュ
停電
ファ@ @ルシステムのクラッシュ
ハドウェアの問題(ハドドラブ,マザボドなど)
コマンド例には,, mysqldumpおよびmysqlクラ@ @アントプログラム用の——用户
や——密码
などのオプションは含まれていません。クライアントプログラムがMySQLサーバーに接続できるようにする必要に応じて,それらのオプションを含めてください。
デ,タは,トランザクションと自動クラッシュリカバリをサポ,トするInnoDB
ストレ,ジエンジンに格納されているとします。さらに,MySQLサ,バ,はクラッシュ時に負荷がかかっているとします。そうでなければ,リカバリは必要ないことがあります。
オペレーティングシステムのクラッシュや停電の場合,再起動後,MySQLのディスクデータを使用できるものと考えることができます。InnoDB
デタファルにはクラッシュのために一貫したデタが格納されていない可能性がありますが,InnoDB
はそのログを読み取り,データファイルにフラッシュされていないコミット保留中のトランザクションやコミットされていないトランザクションのリストを見つけます。InnoDB
はまだコミットされていないトランザクションを自動的にロールバックし,コミットされたものはデータファイルにフラッシュします。このリカバリプロセスに関する情報は,MySQLエラログによってユザに伝えられます。次はログの抜粋の例です。
InnoDB:数据库未正常关闭。InnoDB:开始从日志文件恢复…InnoDB:正在启动基于检查点的日志扫描InnoDB:日志序列号0 13674004 InnoDB:正在进行恢复:扫描到日志序列号0 13739520 InnoDB:正在进行恢复:扫描到日志序列号0 13805056 InnoDB:正在进行恢复:扫描到日志序列号0 13870592 InnoDB:正在进行恢复:扫描到日志序列号0 13936128…InnoDB:正在进行恢复:扫描到日志序列号0 20555264 InnoDB:正在进行恢复:扫描到日志序列号0 20620800 InnoDB:正在进行恢复:扫描到日志序列号0 20664692 InnoDB: 1个未提交的事务必须回滚InnoDB:开始回滚未提交的事务InnoDB:回滚trx no 16745 InnoDB:回滚trx no 16745 completed InnoDB:回滚未提交的事务已完成InnoDB:回滚未提交的事务已完成InnoDB:开始向数据库应用一批日志记录…InnoDB: Started mysqld: ready for connections
ファイルシステムのクラッシュやハードウェアの問題の場合,再起動後,MySQLディスクデータを使用できないものと考えることができます。これは,ディスクデータの一部のブロックが読み取り不可能になったため,MySQLが正常な起動に失敗することを意味します。この場合,ディスクを再フォーマットするか,新しいディスクをインストールするか,または根本的な問題を修正する必要があります。さらに,バックアップからMySQLデ,タをリカバリする必要があります。これはバックアップがすでに行われていることを意味します。それが確実に当てはまるようにするには,バックアップポリシ,を設計し,実装します。