ステップ1: MySQLでbinlogが有効になっていることを確認する'%log_bin%' のような変数を表示します。 log_bin はオンの場合有効になります。 ステップ2: バイナリログファイルディレクトリに入り、バイナリログファイルを見つけるmysql> show binary logs; # バイナリログファイルリストを取得しますmysql> show master status; # 現在書き込まれているバイナリログファイルを表示しますmysql> reset master; バイナリログをリセットします ステップ3: mysqlbinlogツールコマンドを使用して、データベースの追加、削除、変更、およびクエリレコードを表示します(有効にするにはmysqlbinlogディレクトリに切り替える必要があります)。または、binlogを直接指定します。例 1 : 2021-3-12 14:00:00 から 2021-3-12 14:03:00 までの操作ログを照会します。データベースは g_xinxiangshop です。次のコマンドを入力して、データを予備の txt ファイルに書き込みます。 /usr/local/mysql/bin/mysqlbinlog --no-defaults --database=g_xinxiangshop --start-datetime="2021-3-12 14:00:00" --stop-datetime="2021-3-12 14:03:00" /usr/local/mysql/data/mysql-bin.000001 > /tmp/binlog.txt 例 2 : 2021-3-12 14:00:00 から 2021-3-12 14:03:00 までのデータベース g_xinxiangshop の操作ログを照会し、g_user テーブルのデータのみを含む操作レコードをフィルター処理します。次のコマンドを入力して、データを予備の txt ファイルに書き込みます。 /usr/local/mysql/bin/mysqlbinlog --no-defaults --database=g_xinxiangshop --start-datetime="2021-3-12 14:00:00" --stop-datetime="2021-3-12 14:03:00" /usr/local/mysql/data/mysql-bin.000001 | grep g_user > /tmp/binlog.txt 例3 :2021-3-15 15:25:00から2021-3-15 15:35:00までのデータベースg_shoptestの操作ログを照会し、画面に出力します。 画像は例 1 と例 2 と同じです。切り捨て操作と記録ポイントを確認した後、回復操作を実行できます。 ステップ4: bin_logを使用してデータを回復するテストmysqlにログイン 1.マスターをリセットし、binlogをリセットしてログを再生成する 2.データを挿入し、その後誤って削除してテーブルをテストします。 3. bin-log コマンドを表示します: 'mysql-bin.000001' の binlog イベントを表示します。 上の図に示すように、削除ポイントは928〜1294の間にあり、以前に追加されたデータは154〜520の間にあることがわかります。 /usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/data/mysql-bin.000001 --開始位置 154 --停止位置 520 | mysql -uroot -p g_shoptest 実行が完了したら、データを削除して復元したかどうかを確認します。 binlog コマンド 1. 最も一般的に使用される方法は、指定されたデータ終了時にデータを復元することです。これは、データベースに直接復元できます。 mysqlbinlog --start-date="2021-3-12 14:00:00" --stop-date="2021-3-12 14:03:00" mysql_bin.000001 |mysql -uroot -p123456 2. 開始位置と終了位置を指定します。上記で生成されたバイナリ ログから、ログの開始位置と終了位置を知ることができます。リカバリ プロセス中に、位置 A から位置 B までのログを指定できます。指定するには、次の 2 つのパラメータが必要です。
/usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/data/mysql-bin.000001 --開始位置 7903538 --停止位置 7904498|mysql -uroot -p123456 **一般的なエラーエラー: Log_event::read_log_event() のエラー: 'バイナリ ログに無効なイベントが見つかりました'、data_len: 31、event_type: 35*この問題はmysqlbinlogのバージョンによって発生します 現在のOSで使用されているmysqlbinlogを表示する シェル> mysqlbinlog /usr/bin/mysqlbinlog mysql で現在使用されている mysqlbinlog を表示します。 ±--------------±------------------+ | 変数名 | 値 | ±--------------±------------------+ | ベースディレクトリ | /usr/local/mysql/ | ±--------------±------------------+ mysql> 'basedir' のような変数を表示します。 2つのバージョンを比較する シェル> /usr/bin/mysqlbinlog --version シェル> /usr/local/mysql/bin/mysqlbinlog --version この問題を解決するには、mysqlbinlogパスを指定するだけです /usr/local/mysql/bin/mysqlbinlog --no-defaults --database=g_xinxiangshop --start-datetime="2021-3-12 14:00:00" --stop-datetime="2021-3-12 14:03:00" /usr/local/mysql/data/mysql-bin.000001 > /tmp/binlog.txt MySQL 5.7 で binlog を使用してデータを回復する方法に関するこの記事はこれで終わりです。MySQL binlog 回復の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Facebook によるインターネット サービスのほぼ完璧な再設計
Typescript の利点については詳しく説明する必要はありません。ご興味があれば、(https:...
例を通して、MySQL のデータ テーブル送信のクエリが遅い問題の解決策を共有しました。最近、コード...
CSS の優先順位について話す前に、CSS とは何か、CSS が何に使用されるのかを理解する必要があ...
Dockerの場合すべてのコンテナコマンドを開始する docker を起動します $(docker ...
目次Vue2 レスポンシブ原則のレビューVue3 レスポンシブ原則の分析ネストされたオブジェクトの応...
1 概要システム Centos8 では、httpd を使用してローカル Web サーバーを構築します...
この記事では、ショッピングカートの完全な機能を実現するためのjQueryの具体的なコードを参考までに...
目次01 よくある故障 1 02 よくある欠陥 2 03 よくある欠陥 3 04 よくある欠陥 4 ...
目次Matlab セントロイドアルゴリズムMatlab はクローズドな商用ソフトウェアであり、米国政...
今日は、シンプルなハートビート効果を作成します。多くのコードは必要ありません。ボックスを追加し、CS...
HTTP ステータス コードは、Web サーバーの HTTP 応答ステータスを示すために使用される ...
目次1. 準備2. 説明計画の概要3. フィールドの詳細な説明4. パーティションクエリにはパーティ...
目次Tomcat8のインストールと設定方法tomcat ダウンロードTomcat マネージャーを有効...
CSS ウェブページレイアウトを行う場合、XHTML1.0 仕様に準拠する必要があることは誰もが知っ...
時間は本当に存在するのでしょうか?時間は人間が考え出した概念に過ぎず、物事の変化を測る基準に過ぎない...