最初のステップのインストール1. MySQLをインストールする 2. Python3をインストールする [root@localhost /]#yum python3をインストール 3. binlog2sql ファイルをローカル コンピューターにダウンロードします (ファイルは Baidu Cloud にあります) [root@localhost /]#mkdir ツール [root@localhost /]#cd ツール [root@localhost ツール]# ll 合計 317440 -rw-r--r--。1 ルート ルート 317440 9月21日 23:55 binlog2sql.tar [root@localhost ツール]#tar -xvf binlog2sql.tar [root@localhost ツール]#cd binlog2sql [root@localhost binlog2sql]# ll 合計 52 drwxr-xr-x. 3 mysql mysql 91 6月13日 08:14 binlog2sql drwxr-xr-x. 2 mysql mysql 54 6月13日 07:45 例 -rw-r--r--。1 mysql mysql 35141 6月13日 07:45 ライセンス -rw-r--r--。1 mysql mysql 9514 6月13日 07:45 README.md -rw-r--r--。1 mysql mysql 54 6月13日 07:45 requirements.txt drwxr-xr-x. 2 mysql mysql 37 6月 13 07:45 テスト 4. binlog2sqlのrequirements.txtを修正し、PyMySQL==0.7.11を0.9.3に変更し、保存して終了します。 [root@localhost binlog2sql]# vi requirements.txt pyMySQL == 0.9.3 です ホイール==0.29.0 mysql-レプリケーション==0.13 5. インストールして、0.9.3であることを確認してください。そうでない場合はエラーが発生します。 [root@localhost binlog2sql]# pip3 インストール -r requirements.txt [root@localhost binlog2sql]# pip3 show pymysql 名前: PyMySQL バージョン: 0.9.3 概要: 純粋な Python MySQL ドライバー ホームページ: https://github.com/PyMySQL/PyMySQL/ 著者: yutaka.matsubara 著者メールアドレス: [email protected] ライセンス: 「MIT」 場所: /usr/local/lib/python3.6/site-packages 必要: ステップ2: MySQLデータを準備する1. セキュリティディレクトリ secure-file-priv=/test を設定ファイルに追加し、MySQL を再起動するのが最善です。 [root@localhost /]# mkdir テスト [root@localhost /]# chown -R mysql.mysql テスト [root@localhost mysqldata]#vi my.cnf セキュアファイルプライベート=/テスト ベースディレクトリ=/application/mysql データディレクトリ=/data/mysql ソケット=/data/mysqldata/mysql.sock log_error=/data/mysqldata/mysql8.0.err ポート=3306 サーバーID=6 セキュアファイルプライベート=/テスト 自動コミット=0 log_bin=/data/mysqldata/mysql-bin [root@localhost mysqldata]# systemctl mysqldを起動します 注: 構成ファイルのパスは各ユーザーごとに異なります。 2. MySQLを入力する MySQL モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは11です サーバーバージョン: 8.0.20 MySQL コミュニティサーバー - GPL Copyright (c) 2000, 2020, Oracle およびその関連会社。無断複写・転載を禁じます。 OracleはOracle Corporationおよびその関連会社の登録商標です。 その他の名称は各社の商標である場合があります。 所有者。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 mysql> マスターステータスを表示します\g; +------------------+----------+--------------+------------------+------------------+ | ファイル | 位置 | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+------------------+ | mysql-bin.000001 | 156 | | | | +------------------+----------+--------------+------------------+------------------+ mysql> データベース csdn を作成します。 mysql> csdnを使用する mysql> t1に値(1),(2),(3),(4),(5),(6),(7),(8)を挿入します。 mysql> コミット; mysql> t1 を更新し、id=10 に設定します (id=1 の場合)。 mysql> t1 から id=3 を削除します。 mysql> コミット; 3 番目のステップは、binlog2sql ディレクトリをテストすることです。[root@localhost binlog2sql]# パスワード バイナリログ2sql [root@localhost binlog2sql]# ll 合計 24 -rwxr-xr-x. 1 mysql mysql 7747 6月13日 07:45 binlog2sql.py -rwxr-xr-x. 1 mysql mysql 11581 6月13日 07:45 binlog2sql_util.py -rw-r--r--。1 mysql mysql 92 6月13日 07:45 __init__.py drwxr-xr-x. 2 mysql mysql 44 6月13日 07:50 __pycache__ 2. データベース内のテーブルのバックアップ操作を開始する [root@localhost binlog2sql]# python3 binlog2sql.py -h 192.168.0.112 -P3306 -uroot -p123 -d csdn -t t1 --start-file='mysql-bin.000001' b'csdn'を使用します。 データベース csdn を作成します。 b'csdn'を使用します。 テーブル t1 (id int) を作成します。 `csdn`.`t1`(`id`) VALUES (1) に挿入します。#開始 609 終了 807 時間 2020-09-25 02:21:21 `csdn`.`t1`(`id`) VALUES (2) に挿入します。#開始 609 終了 807 時間 2020-09-25 02:21:21 INSERT INTO `csdn`.`t1`(`id`) VALUES (3); #開始 609 終了 807 時間 2020-09-25 02:21:21 `csdn`.`t1`(`id`) VALUES (4) に挿入します。#開始 609 終了 807 時間 2020-09-25 02:21:21 INSERT INTO `csdn`.`t1`(`id`) VALUES (5); #開始 609 終了 807 時間 2020-09-25 02:21:21 INSERT INTO `csdn`.`t1`(`id`) VALUES (6); #開始 609 終了 807 時間 2020-09-25 02:21:21 INSERT INTO `csdn`.`t1`(`id`) VALUES (7); #開始 609 終了 807 時間 2020-09-25 02:21:21 INSERT INTO `csdn`.`t1`(`id`) VALUES (8); #開始 609 終了 807 時間 2020-09-25 02:21:21 `csdn`.`t1` を更新し、`id`=10 を設定し、`id`=1 を LIMIT 1 に設定します。#開始 917、終了 1095、時刻 2020-09-25 02:21:39 DELETE FROM `csdn`.`t1` WHERE `id`=3 LIMIT 1; #開始 917 終了 1183 時間 2020-09-25 02:21:48 2.2 バックアップデータベース csdn での操作 [root@localhost binlog2sql]# python3 binlog2sql.py -h 192.168.0.112 -P3306 -uroot -p123 -d csdn -t t1 --start-file='mysql-bin.000001' >/test/binlog2sql.sql 2.3 バックアップしたSQLファイルを表示する [root@localhost binlog2sql]# cat /test/binlog2sql.sql b'csdn'を使用します。 データベース csdn を作成します。 b'csdn'を使用します。 テーブル t1 (id int) を作成します。 `csdn`.`t1`(`id`) VALUES (1) に挿入します。#開始 609 終了 807 時間 2020-09-25 02:21:21 INSERT INTO `csdn`.`t1`(`id`) VALUES (2); #開始 609 終了 807 時間 2020-09-25 02:21:21 INSERT INTO `csdn`.`t1`(`id`) VALUES (3); #開始 609 終了 807 時間 2020-09-25 02:21:21 `csdn`.`t1`(`id`) VALUES (4) に挿入します。#開始 609 終了 807 時間 2020-09-25 02:21:21 INSERT INTO `csdn`.`t1`(`id`) VALUES (5); #開始 609 終了 807 時間 2020-09-25 02:21:21 INSERT INTO `csdn`.`t1`(`id`) VALUES (6); #開始 609 終了 807 時間 2020-09-25 02:21:21 INSERT INTO `csdn`.`t1`(`id`) VALUES (7); #開始 609 終了 807 時間 2020-09-25 02:21:21 INSERT INTO `csdn`.`t1`(`id`) VALUES (8); #開始 609 終了 807 時間 2020-09-25 02:21:21 `csdn`.`t1` を更新し、`id`=10 を設定し、`id`=1 を LIMIT 1 に設定します。#開始 917、終了 1095、時刻 2020-09-25 02:21:39 DELETE FROM `csdn`.`t1` WHERE `id`=3 LIMIT 1; #開始 917 終了 1183 時間 2020-09-25 02:21:48 3. 削除ステートメントを個別に表示する [root@localhost binlog2sql]# python3 binlog2sql.py -h 192.168.0.112 -P3306 -uroot -p123 -d csdn -t t1 --start-file='mysql-bin.000001' --sql-type=delete b'csdn'を使用します。 データベース csdn を作成します。 b'csdn'を使用します。 テーブル t1 (id int) を作成します。 DELETE FROM `csdn`.`t1` WHERE `id`=3 LIMIT 1; #開始 917 終了 1183 時間 2020-09-25 02:21:48 4. 削除ステートメントをSQLファイルに逆順に保存して表示する [root@localhost binlog2sql]# python3 binlog2sql.py -h 192.168.0.112 -P3306 -uroot -p123 -d csdn -t t1 --start-file='mysql-bin.000001' --sql-type=delete --start-position=917 --stop-position=1183 -B >/test/roll.sql [root@localhost binlog2sql]# cat /test/roll.sql INSERT INTO `csdn`.`t1`(`id`) VALUES (3); #開始 917 終了 1183 時間 2020-09-25 02:21:48 5. MySQLに入り、削除されたデータを復元する mysql> ソース /test/roll.sql クエリは正常、1 行が影響を受けました (0.00 秒) mysql> t1 から * を選択します。 +------+ |id| +------+ | 10 | | 2 | | 4 | | 5 | | 6 | | 7 | | 8 | | 3 | +------+ セット内の行数は 8 です (0.00 秒) 要約する binlog2sql を使用した mysql8.0.20 の構成と、簡単なバックアップとリカバリの詳細な手順に関するこの記事はこれで終わりです。mysql8.0.20 binlog2sql の構成とバックアップとリカバリに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。皆様が今後も 123WORDPRESS.COM を応援してくれることを願っています。 以下もご興味があるかもしれません:
|
<<: Tomcat を設定して IntelliJ IDEA 2018 で最初の Java Web プロジェクトを実行する方法
>>: Linux環境でユーザーにsudo権限を追加する方法
目次1. コンポーネントの構成2. コンポーネント名2.1 コンポーネントの命名3. グローバル登録...
docker-compose.ymlを作成し、次の内容を入力します。 バージョン: '3...
ブラウザのウェブページを最適化するためのいくつかのルールページの最適化静的リソース圧縮ビルド ツール...
ネットで検索してみたところ、多くの面接でモバイル適応方法について質問されることが分かりました。最近い...
目次序文どのような状況でメモリリークが発生する可能性がありますか? 1. 偶発的なグローバル変数2....
バイオニックデザインといえば、飛行機の発明、ドバイのブルジュ・アル・アラブ、平泳ぎなどを思い浮かべる...
この記事では、参考までに、無限ロードウォーターフォールフローを実現するためのVueの具体的なコードを...
1. PVとIPの統計一日のPV(ページビュー)をカウントする cat access.log | ...
元データと対象データSQL文を実装する(最大) 選択 店、 月、 最大(dz,fz,sp) が最大値...
背景要件:ビジネスがどんどん大きくなると、サーバーの数も増え、さまざまなアクセスログ、アプリケーショ...
この記事の例では、じゃんけんゲームを実装するためのJSの具体的なコードを参考までに共有しています。具...
目次1. コンテナライフサイクル管理(1)ドッカー実行(2)スタート/ストップ/リスタート(3)ドッ...
目次最初の方法アプリ.vueホーム.vueホームコンテンツ.vueデータの応答性レスポンシブプロパテ...
この記事では、角を丸くするためのjsキャンバスの具体的なコードを参考までに紹介します。具体的な内容は...
目次iview-admin2.0 組み込み権限管理権限に基づいてコンポーネントの表示を制御するカスタ...