binlog2sql と簡単なバックアップおよびリカバリを使用して mysql8.0.20 を構成するための詳細な手順

binlog2sql と簡単なバックアップおよびリカバリを使用して mysql8.0.20 を構成するための詳細な手順

最初のステップのインストール

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. データベース内のテーブルのバックアップ操作を開始する
2.1 データベース csdn での操作を今すぐ表示する

 [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 を応援してくれることを願っています。

以下もご興味があるかもしれません:
  • MySQL の binlog ログと、binlog ログを使用してデータを回復する方法を説明します。
  • MySQLはデータ復旧を実装するためにbinlogログを使用する
  • 誤って削除されたデータを復元するための mysqlbinlog コマンドを使用した mysql の実装
  • MySQLはmysqldump+binlogを使用して、削除されたデータベースの原理分析を完全に復元します。
  • MySQL バイナリログデータ復旧: 誤ってデータベースを削除した場合の詳細な説明
  • MySQL でデータ復旧に binlog を使用する方法
  • Linux 上の binlog ファイルを使用して MySQL データベースを復元する詳細な手順
  • MySQL データベースが攻撃され、改ざんされました (データ復旧にはバックアップと binlog を使用)
  • MySQLデータベースのログファイル(binlog)を自動的に復元する方法を説明します
  • MySQL の Binlog 関連コマンドとリカバリテクニック
  • MySQL データベースのリカバリ (mysqlbinlog コマンドを使用)
  • MySQLはbinlogを通じてデータを復元する

<<:  Tomcat を設定して IntelliJ IDEA 2018 で最初の Java Web プロジェクトを実行する方法

>>:  Linux環境でユーザーにsudo権限を追加する方法

推薦する

情報製品の読書リストのインタラクティブなデザインに関する考えと経験の共有

リストは、テーブルをコンテナーとして使用するテキストまたはグラフの形式として定義されます。商品の種類...

Vue で webSocket を使用してリアルタイムの天気を更新する方法

目次序文webSocket の操作と例について:ウェブソケット1. webSocketについて2. ...

Hadoop を使用せずに Linux 環境に Spark のスタンドアロン バージョンをインストールする方法

ビッグデータはますます注目を集めており、ビッグデータのいくつかの構成要素に精通していないと、自慢でき...

Linux ユーザー スクリプトの作成/推測ゲーム/ネットワーク カード トラフィック監視の紹介

目次1. ユーザーが作成したスクリプト2. 単語当てゲーム3. ネットワークカードのトラフィック監視...

Ubuntu 18.04 に opencv 3.2.0 をインストールするためのソリューション

opencv.zip をダウンロード依存関係を事前にインストールします。まずダウンロードソースを更新...

Linux ソースコードからのソケット (TCP) バインドの詳細な説明

目次1. 最も単純なサーバー側の例2. バインドシステムコール2.1、inet_bind 2.2、i...

ウェブページの読み込み速度を上げる6つのヒント

第二に、キーワードのランキングは、Webページの表示速度にも関係しています(参照:キーワードランキン...

HTML テーブル マークアップ チュートリアル (28): セルの境界線の色属性 BORDERCOLOR

テーブルを美しくするために、セルごとに異なる境界線の色を設定できます。基本的な構文<TD 境界...

Vueナンバープレート検索コンポーネントの使い方の詳しい説明

参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...

nginxでの共有メモリの使用に関する詳細な説明

nginx プロセス モデルでは、トラフィック統計、トラフィック制御、データ共有などのタスクを完了す...

Redux Toolkit で Redux を簡素化する方法

目次Redux Toolkitが解決する問題何が含まれていますか? Redux Toolkit AP...

Vueは小さなフォーム検証機能を実装します

この記事では、フォーム検証を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は...

Javascriptの基本を詳しく説明

目次変数データ型拡張ポイント要約する変数基本的な構文 var age=10; //ageという変数を...

HTML フォームタグチュートリアル (4):

ここで、次のような項目をフォームに追加したいとします: 現在いる都市を参照します。ここで私たちが話し...

Alibaba Cloud Centos6.X でメールを送信する際に発生するさまざまな問題

序文: Webサービスを提供するために、Alibabaクラウドホストを新しくインストールしました。す...