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権限を追加する方法

推薦する

全体的なユーザーエクスペリエンスを確保する方法

関連記事:ユーザーエクスペリエンスのためのウェブサイトデザイン今朝、GMail がまた不調になり、接...

Vue+Springbootでインターフェースシグネチャを実装するためのサンプルコード

1. 実装のアイデアインターフェース署名の目的は、リクエストパラメータが改ざんされていないか、リクエ...

MySQL ストアド プロシージャの権限の問題の概要

MySQL ストアド プロシージャは、確かに、非常にまれな使用シナリオのように見えます。この問題は、...

Nginx サービスを使用してサブドメイン環境を構築し、2D マップの読み込みパフォーマンスを向上させる方法を説明します。

1. 背景最近、友人が大規模なマップの読み込みが遅いという問題に遭遇しました。iServer のパ...

MySQLシリーズのMariaDBサーバーのインストール

目次チュートリアルシリーズ1. yumパッケージマネージャーを使用してMariaDBサーバーをインス...

CSS ピクセルとさまざまなモバイル画面適応の問題に対する解決策

ピクセル解決通常、モニター解像度と呼ばれるものは、実際にはモニターの物理的な解像度ではなく、デスクト...

Winows Server 2019 アクティベーション コードとボリューム ライセンス エディション KMS インストール キー GVLK

最近、社内文書の整理とファイルサーバーの構成を予定しています。以前はサーバー2003を使い慣れていま...

プロジェクトの再構築からプロジェクトにおける CSS3 カスタム変数の使用について話す

CSS3変数について変数を宣言するときは、変数名の前に 2 つのハイフン ( -- ) を追加します...

マスタークラスタに再参加する k8s ノードの実装

1. ノードを削除するkubectl delete node node01を実行します。 2. この...

ウェブサイトメンテナンスページのリスト構築のヒント

また、多くの場合、メンテナンスのために Web サイトを少なくとも数分間オフラインにする必要がありま...

ico ミラー コードを HTML に追加します (favicon.ico はルート ディレクトリに配置されます)

コード:コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC &...

Linuxにおけるumaskコマンドの使用原理と計算方法の詳しい解説

目次umask umaskの使用法原理1. umask値2. ファイルディレクトリの最大権限3. 従...

MySQLリモートアクセスの設定方法をステップバイステップで説明します

序文MySQL データベースを使用する場合、クライアントはデータベース サーバーにリクエストを送信す...

Nginx リバース プロキシと負荷分散を実装する方法 (Linux ベース)

ここで nginx のリバース プロキシを試してみましょう。リバースプロキシ方式とは、インターネット...

MySQL 5.7.20 のインストールと設定方法のグラフィック チュートリアル (win10)

この記事では、MySQL 5.7.20のインストールと設定方法を参考までに紹介します。具体的な内容は...