监控mysql锁定状态_企业实战Mysql不停机维护主从同步
實戰環境:
Mysql-5.7
Xtrabackup-2.4
Xtrabackup 介紹:
Percona XtraBackup是一款基于MySQL的服務器的開源熱備份實用程序,在備份過程中不會鎖定數據庫。它可以備份來自MySQL5.1,5.5,5.6和5.7服務器上的InnoDB,XtraDB和MyISAM表的數據,以及帶有XtraDB的Percona服務器。
XtraBackup 有兩個工具:xtrabackup 和 innobackupex
Xtrabackup 本身只能備份InnoDB和XtraDB,不能備份MyISAM;
innobackupex 它是封裝了xtrabackup的perl腳本,覆蓋了xtrabackup的功能。
它不但可以備份nnodb和xtradb兩種引擎的表,還可以備份myisam引擎的表(在備份myisam表時需要加一個讀鎖)。
Xtrabackup特點:
備份過程快速、可靠;
備份過程不會打斷正在執行的事務;
能夠基于壓縮等功能節約磁盤空間和流量;
自動實現備份檢驗;
還原速度快;
Xtrabackup備份實現原理:
innobackupex開啟xtrabackup_log監控線程,實時監測redolog文件的變化,將新備份過程中新寫入到事務日志中的日志拷貝至innobackup_log中;同時開啟xtrabackup拷貝線程,開始拷貝innodb文件,拷貝數據數據結構,記錄當前binlog及position完成備份。
全備恢復原理:
將全備文件進行xtrabackup_log日志回放,并對提交的事務進行重做,同時rollback未提交的事務。并將全備文件復制到mysql 下的data目錄下。
主數據庫1、安裝xtrabackup工具$ yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm$ yum update percona-release$ yum install percona-xtrabackup-24 -y2、主數據庫全量備份# 全量備份$ innobackupex??--defaults-file=/etc/my.cnf?--user=root?--password=magedu??/data/backup#?保持事務一致性?apply-log的作用是通過回滾未提交的事務及同步已經提交的事務至數據文件處于一致性狀態,把已提交的事務合并到ibdata文件$ innobackupex --apply-log /data/backup/2020-03-28_19-13-073、?將主數據庫備份文件壓縮并拷貝到從數據庫。$ tar czf backup.tar.gz 2020-03-28_19-13-07$ scp -r /data/backup/backup.tar.gz 172.21.0.8:/data/backup/4、?主庫授權同步帳號mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'slave_passport';mysql> FLUSH PRIVILEGES;5、查看主庫備份到位置,從庫從備份位置開始同步$ cat /data/backup/2020-03-28_19-13-07/xtrabackup_binlog_infomysql-bin.000001 1053 從數據庫操作1、從數據全量恢復$ cd /data/backup/ && tar xf backup.tar.gz$ innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /data/backup/2020-03-28_19-13-072、修改數據文件權限$ chown -R mysql:mysql /var/lib/mysql3、 啟動從數據庫$ systemctl restart mysqld4、查看主數據庫第五步主庫備份的位置,開始同步mysql>?CHANGE?MASTER?TO?MASTER_HOST='172.21.0.9',?\MASTER_USER='slave', \MASTER_PASSWORD='slave_passport', \MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000001', \MASTER_LOG_POS=1053;5、開啟主從同步mysql>?start?slave;mysql> show slave status\G;Slave_IO_Running=YesSlave_SQL_Running=Yes☆ END ☆Linux云計算課程2020全新升級,云計算+安全+DevOps上線,點擊查看詳情。總結
以上是生活随笔為你收集整理的监控mysql锁定状态_企业实战Mysql不停机维护主从同步的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL 优化 —— MySQL 如何
- 下一篇: python 绘图 hist bin参数