久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何用Percona Xtrabackup恢復MySQL從庫

125次閱讀
沒有評論

共計 4181 個字符,預計需要花費 11 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關如何用 Percona Xtrabackup 恢復 MySQL 從庫,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

同樣的,還是一臺服務器上兩個實例。3306 端口的實例為主庫,3307 端口的實例為從庫。

現在,手動將備庫里的數據清空掉,模擬備庫被破壞。

drop database test2;

采用 Percona Xtrabackup 來恢復從庫。

Percona Xtrabackup 是一款開源的備份工具,這個工具可以在 Percona 的官方網站上下載來進行安裝。

恢復步驟如下:

1、對主庫的數據進行完全備份,注意,這個是熱備,不需要停庫的

innobackupex –default-file=/usr/local/mysql/my.cnf  –user=root –password=root –socket=/usr/local/mysql/mysql.sock /tmp/backup

如果屏幕輸出的結尾有打印“completed Ok!”,則表示命令執行成功。

2、將主庫生成的日志附加到備份中

innobackupex  –apply-log /tmp/backup/2016-08-30_09-56-23

同步驟 1 一樣,如果屏幕輸出的結尾有 completed OK 的字輸出,表示命令執行成功。

3、查看主庫生成的備份信息

[root@single1 2016-08-30_09-56-23]# ls -l
total 131108
-rw-r—–. 1 root root  418 Aug 30 09:56 backup-my.cnf
-rw-r—–. 1 root root 12582912 Aug 30 09:56 ibdata1
-rw-r—–. 1 root root 50331648 Aug 30 09:56 ib_logfile0
-rw-r—–. 1 root root 50331648 Aug 30 09:56 ib_logfile1
-rw-r—–. 1 root root 12582912 Aug 30 09:56 ibtmp1
drwxr-x—. 2 root root  4096 Aug 30 09:56 lxm
drwxr-x—. 2 root root  4096 Aug 30 09:56 mysql
drwxr-x—. 2 root root  4096 Aug 30 09:56 performance_schema
drwxr-x—. 2 root root  4096 Aug 30 09:56 test
-rw-r—–. 1 root root  21 Aug 30 09:56 xtrabackup_binlog_info
-rw-r–r–. 1 root root  21 Aug 30 09:56 xtrabackup_binlog_pos_innodb
-rw-r—–. 1 root root  113 Aug 30 09:56 xtrabackup_checkpoints
-rw-r—–. 1 root root  504 Aug 30 09:56 xtrabackup_info
-rw-r—–. 1 root root  8388608 Aug 30 09:56 xtrabackup_logfile

注:

a) xtrabackup_binlog_info 文件記錄 mysql 服務器當前正在使用的二進制日志文件及至備份這一刻為止二進制日志事件的位置。

b) xtrabackup_binlog_pos_innodb 文件記錄二進制日志文件及用于 InnoDB 或 XtraDB 表的二進制日志文件的當前 position。

(xtrabackup_binlog_info 文件和 xtrabackup_binlog_pos_innodb 文件的區別:對于純 InnoDB 操作,備份出來的數據中上述兩個文件的內容是一致的。對于 InnoDB 和非事務存儲引擎混合操作,xtrabackup_binlog_info 中所示的 position 應該會比 xtrabackup_pos_innodb 所示的數值大。此時應以 xtrabackup_binlog_info 為準;而后者和 apply-log 時 InnoDB recovery log 中顯示的內容是一致的,只針對 InnoDB 這部分數據。)

c) xtrabackup_checkpoints 文件用來描述備份類型,備份狀態,LSN 范圍信息。

d) xtrabackup_info 文件記錄備份時所用 xtrabackup 命令的一些信息

e) backup-my.cnf 文件為備份命令用到的配置選項信息;

4、恢復從庫

停止從庫服務,將從庫中原有的數據清空。

  service mysql3307 stop;

  cd /usr/local/mysql3307

 mv data  data.bak

然后開始恢復:

  innobackupex –defaults-file=/usr/local/mysql3307/my.cnf –copy-back  –rsync /tmp/backup/2016-08-30_09-56-23

如果屏幕輸出的結尾有打印“completed Ok!”,則表示命令執行成功。

5、修改從庫數據文件的屬性

  從庫恢復成功后,可以在 /usr/local/mysql3307 目錄下,看到一個 data:

記得將這個恢復過來的 data 目錄屬組全部改回 mysql,否則啟動從庫時會如下錯誤:

  chown  -R mysql:mysql data

6、查看備份中 binary log 的信息

[root@single1 2016-08-30_09-56-23]# cat xtrabackup_binlog_info
mysql-bin.000003  329

7、起從庫,重新同步:

service mysql3307 start

mysql -S /usr/local/mysql3307/mysql.sock -P 3307 -uroot -p
mysql change master to master_host= localhost , master_user= root , master_password= root , master_log_file= mysql-bin.000003 , master_log_pos=329, master_port=3306;
Query OK, 0 rows affected, 2 warnings (0.02 sec)

#master_log_file 參數和 master_log_pos 參數的設置就是根據第 6 步得來的

mysql start slave;
Query OK, 0 rows affected (0.01 sec)

mysql show slave status\G;
*************************** 1. row ***************************
  Slave_IO_State: Waiting for master to send event
  Master_Host: localhost
  Master_User: root
  Master_Port: 3306
  Connect_Retry: 60
  Master_Log_File: mysql-bin.000003
  Read_Master_Log_Pos: 329
  Relay_Log_File: single1-relay-bin.000002
  Relay_Log_Pos: 283
  Relay_Master_Log_File: mysql-bin.000003
  Slave_IO_Running: Yes
  Slave_SQL_Running: Yes
  Replicate_Do_DB:
  Replicate_Ignore_DB:
  Replicate_Do_Table:
  Replicate_Ignore_Table:
  Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
  Last_Errno: 0
  Last_Error:
  Skip_Counter: 0
  Exec_Master_Log_Pos: 329
  Relay_Log_Space: 458
  Until_Condition: None
  Until_Log_File:
  Until_Log_Pos: 0
  Master_SSL_Allowed: No
  Master_SSL_CA_File:
  Master_SSL_CA_Path:
  Master_SSL_Cert:
  Master_SSL_Cipher:
  Master_SSL_Key:
  Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
  Last_IO_Errno: 0
  Last_IO_Error:
  Last_SQL_Errno: 0
  Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
  Master_Server_Id: 1
  Master_UUID: 9c534d95-6849-11e6-bae6-000c295ae8a5
  Master_Info_File: /usr/local/mysql3307/data/master.info
  SQL_Delay: 0
  SQL_Remaining_Delay: NULL
  Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
  Master_Retry_Count: 86400
  Master_Bind:
  Last_IO_Error_Timestamp:
  Last_SQL_Error_Timestamp:
  Master_SSL_Crl:
  Master_SSL_Crlpath:
  Retrieved_Gtid_Set:
  Executed_Gtid_Set:
  Auto_Position: 0
1 row in set (0.00 sec)

ERROR:
No query specified

8、檢驗主庫和從庫是否一致。

關于如何用 Percona Xtrabackup 恢復 MySQL 從庫就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-27發表,共計4181字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 墨竹工卡县| 沙田区| 新宁县| 东台市| 察雅县| 甘泉县| 蒲江县| 灵璧县| 镇赉县| 华宁县| 渝中区| 巫溪县| 运城市| 华阴市| 修水县| 姚安县| 石景山区| 湖南省| 两当县| 襄垣县| 海丰县| 左权县| 星子县| 宁明县| 昭平县| 子洲县| 宁蒗| 巴里| 缙云县| 五莲县| 射阳县| 临洮县| 咸丰县| 齐河县| 吉木乃县| 扶沟县| 嵊州市| 金塔县| 民权县| 中阳县| 洪江市|