0

バイナリ ログ ファイルを使用して mysql データベースを復元することは、特に誤操作の場合に非常に役立ちます。以下は、Windowsでこれを行う私の方法です。この質問が役に立った場合は、「役に立った」とマークしてください。

4

1 に答える 1

0

まず、Mysql のバイナリ ログ機能がオンになっているかどうかを確認する必要があります。

  • Mysql コマンド ライン クライアントを開きます。
  • コマンドの実行: 「log_bin%」などの変数を表示

「オン」または「オフ」としてマークされていることがわかります。「off」と表示されている場合は、構成ファイル「my.ini」を開き、120 行目に以下の構成を追加する必要があります。

# Binary Logging.
# log-bin
# You could change 'C:\Danny\MySql-BackUp\log-bin' to your own directory.
log_bin=C:\Danny\MySql-BackUp\log-bin\mysql-bin

「my.ini」は「C:\ProgramData\MySQL\MySQL Server 5.7」にあります。

その後、データベースでデータが変更されている間、バイナリログファイルが取得されます。

ログ ファイルを sql ファイルにエクスポートします。これにより、復元したいタイムスタンプと番号を簡単に見つけることができます。以下はcmdコマンドです:

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqlbinlog.exe C:\Danny\MySql-BackUp\log-bin\mysql-bin.000003 > C:\Danny\MySql-BackUp\log-bin\bin-log.sql

bin-log.sql で start-positiont と end-position を見つけ、以下のコマンドを実行してデータを復元する必要があります。

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqlbinlog --no-defaults C:\Danny\M
ySql-BackUp\log-bin\mysql-bin.000003 --start-position="4" --stop-position="912"
| mysql -uroot -p123456 databaseName

コマンド形式: mysql -u[ユーザー名] -p[パスワード] [データベース名]

于 2018-02-01T01:45:36.610 に答える