Alibaba Cloud mysqlデータのバックアップとローカルmysqlへのデータの復元(バックアップ+ binlog)

参照:https//help.aliyun.com/knowledge_detail/41817.html?spm = a2c4g.11186623.4.3.49bf4292RNNrSC

原因:タイミングタスクが原因で、実稼働環境が閉じられていません。実行されるべきではなかった時限タスクが実行されます。重要なビジネスデータの損失につながります!

1.バックアップ状況を確認します

インシデント時間は1月5日の1:30(時間指定タスク実行時間)だったためです。

Alibaba Cloudのバックアップを確認してください。最新のバックアップは1月2日の7:43でした(1月5日のバックアップは利用できません)。

したがって、1月2日の7:43から1月5日の1:30までのbinlogログを探してください。

次に、ダウンロードする必要のあるbi​​nlog:mysql-bin.000667-000678をロックします。また、図に示すように、上記の完全バックアップもダウンロードする必要があります。

2.データの復元を開始します

準備:mysqlサービスとPerconaXtraBackupソフトウェアがインストールされているLinux環境を見つける必要があります

mysqlをインストールする手順:https //blog.csdn.net/sumengnan/article/details/108736935

Percona XtraBackupをインストールする手順:

1、yumインストールhttps://repo.percona.com/yum/percona-release-latest.noarch.rpm

  • MySQL 5.6以前のバージョンでは、Percona XtraBackup2.3をインストールする必要があります。
  • MySQL 5.7バージョンでは、Percona XtraBackup2.4がインストールされている必要があります

2、yum install percona-xtrabackup-24

rpmがインストールされている場合、依存パッケージは次のとおりです。yuminstall cmake gcc gcc-c ++ libaio libaio-devel automake autoconf \ bison libtool ncurses-devel libgcrypt-devel libev-devel libcurl-devel \ vim-common

(1)最初に完全バックアップを復元します

 1.完全なバックアップをLinux環境にアップロードします

2、解包:cat hins14138181_data_20210102074244_qp.xb | xbstream -x -v -C / home / sumengnan / data2

3、解圧:innobackupex --decompress --remove-original / home / sumengnan / data2

4、恢复:innobackupex --defaults-file = / home / sumengnan / data2 / backup-my.cnf --apply-log / home / sumengnan / data2

5./home/sumengnan/data2/backup-my.cnfファイルを変更します

次のパラメータを追加します。

lower_case_table_names=1
skip-grant-tables

次のパラメータに注釈を付けます。

 
#innodb_log_checksum_algorithm
#innodb_fast_checksum
#innodb_log_block_size
#innodb_doublewrite_file
#innodb_encrypt_algorithm
#rds_encrypt_data
#redo_log_version
#master_key_id
#server_uuid

6、启PINmysqlだから:mysqld --defaults-file = / home / sumengnan / data2 / backup-my.cnf --user = mysql --datadir = / home / sumengnan / data2

7. mysql -uroot(パスワードなし)を使用してデータベースに接続し、結果を確認するか、Navicatに接続します。

質問: mysqlサービスへの接続時にNavicatがエラーを報告した場合テーブル「performance_schema.session_variables」は存在しません

my.cnfに構成を追加し、mysqlを再起動する必要があります。

[mysqld]
show_compatibility_56 = ON
performance_schema
 

(2)binlogバックアップを再度復元します

1.最初にbinlogをローカルでsqlファイルに変換します(ローカルでmysqlコマンドを使用するか、同じものを実行するにはLinux環境に配置する必要があります)

私はmacを使用しているので、スクリプトrecover_data.shを直接作成しました。

000667のbinlogを選択して開始時刻を設定し、recover_data.sqlを作成します他のbinlogは、recover_data.sqlに追加で書き込まれます。000678の最後のbinlogは、終了時刻を選択します

mysqlbinlog mysql-bin.000667 --start-datetime='2021-01-02 07:43:36' > recover_data.sql
mysqlbinlog mysql-bin.000668 >> recover_data.sql
mysqlbinlog mysql-bin.000669 >> recover_data.sql
mysqlbinlog mysql-bin.000670 >> recover_data.sql
mysqlbinlog mysql-bin.000671 >> recover_data.sql
mysqlbinlog mysql-bin.000672 >> recover_data.sql
mysqlbinlog mysql-bin.000673 >> recover_data.sql
mysqlbinlog mysql-bin.000674 >> recover_data.sql
mysqlbinlog mysql-bin.000675 >> recover_data.sql
mysqlbinlog mysql-bin.000676 >> recover_data.sql
mysqlbinlog mysql-bin.000677 >> recover_data.sql
mysqlbinlog mysql-bin.000678 --stop-datetime='2021-01-05 01:30:00' >> recover_data.sql
gzip recover_data.sql

スクリプト実行後の結果

2.Linux環境にアップロードした後に解凍します

  • mysql-urootを実行してmysqlにログインします
  • セット@@ GLOBAL.GTID_MODE = OFF_PERMISSIVEを実行します
  • ソースrecover_data.sqlを実行してSQLファイルをインポートします

3.検証結果

 

コンプリート

 

 

おすすめ

転載: blog.csdn.net/sumengnan/article/details/112241306