MySQL データ ファイルが誤って削除された場合、回復方法は状況によって異なります。バイナリ ログが有効になっている場合は、mysqlbinlog コマンドを通じて SQL ステートメントを取得できます。バックアップが存在する場合は、回復ツールを使用してファイルを復元できます。バックアップがない場合は、データ ディクショナリを使用してファイルを復元してみることができます。つまり、innodb_table_stats テーブルにクエリを実行してメタデータを取得します。削除された .ibd ファイルのヘッダーをコピーし、テーブルスペースの .ibd ファイルのヘッダーを上書きします。 MySQL サーバーを再起動してファイルをリロードします。
MySQL で削除されたデータ ファイルを回復する方法
重要な MySQL データ ファイルを誤って削除した場合、それらを復元するのは非常に困難です。重要な。このチュートリアルでは、回復プロセスを段階的に説明します。
ステップ 1: バイナリ ログを確認する
削除前にバイナリ ログが有効になっていた場合は、次のコマンドを使用して、削除されたデータの SQL ステートメントを取得できます。
<code>mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS" --stop-datetime="YYYY-MM-DD HH:MM:SS" /path/to/binary-log-file | grep 'table_name'</code>
ステップ 2: 回復ツールを使用する
バイナリ ログを有効にしなかった場合は、MySQL Enterprise Backup や Percona XtraBackup などの回復ツールを使用してファイルを回復できます。バックアップから。影響を受けるファイルを復元できる程度の詳細なバックアップがあることを確認してください。
ステップ 3: データ ディクショナリを使用してファイルを復元する
上記の方法が実行できない場合は、データ ディクショナリを使用してファイルを復元してみることができます。この方法は、データ ディクショナリ テーブルにまだ存在するテーブル構造とデータに依存します。
<code>mysql -u <username> -p USE information_schema;</code>
innodb_table_stats
テーブルをクエリして、削除されたファイルのメタデータを取得します。 : <code>SELECT table_name, data_file_pos FROM innodb_table_stats WHERE table_id = <table_id>;</code>
.ibd
ファイルの場所を確認します。 .ibd
ファイルのヘッダーをコピーします。 .ibd
ファイルを見つけます。 dd
コマンドを使用して、.ibd
ファイルのヘッダーを表スペース .ibd
ファイルにコピーします。 <code>dd if=<deleted_ibd_file_path> of=<table_space_ibd_file_path> bs=512 count=2048</code>
.ibd
ファイルを再ロードできるように、MySQL サーバーを再起動します。 注:
以上がmysqlで削除されたデータファイルを復元する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。