Mysql主從同步在線實施步驟【適合大數據庫從庫配置】
MySQL的主從搭建大家有很多種方式,傳統的mysqldump方式是很多人的選擇之一,但比較適合在新實例中實施,對於較大的數據庫則存在停機等不可接受的問題,所以該方式並非理想的選擇。使用innobackupex 則可以快速輕松的構建或修復mysql主從架構,該方式的好處是對主庫無需備份期間導致的相關性能壓力及鎖表的問題。
主:10.8.8.53
從:10.8.8.72
步驟:
- 分別在主從機上安裝依賴環境及同步工具percona-xtrabackup
rpm -i --force --nodeps libmysqlclient18-10.1.22-alt1.x86_64.rpm yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL yum install percona-xtrabackup-24-2.4.6-2.el6.x86_64.rpm
2.主備份數據(模擬主在線每1秒寫入一條數據)
cd /home/ xtrabackup-mysql 本地壓縮備份:(主執行) innobackupex --defaults-file=/opt/mysql/conf/my.cnf --host=192.168.8.53 --user=root --password=*** --socket=/opt/mysql/pid/mysqld3310.sock --stream=tar ./log001/ 2>log001.log | gzip 1>log001.tar.gz 2019-01-30:/usr/local/xtrabackup/bin/innobackupex --defaults-file=/data/mysql/mysql_master/my.cnf --host=127.0.0.1 --user=root --password=xxxx --port=xxx6 --socket=/data/mysql/mysql_master/data/mysql.sock --stream=tar ./backup/ 2>backup.log | gzip 1>backup.tar.gz
3.傳送到從機器上
scp log001.tar.gz root@192.168.8.72:/home/xtrabackup-mysql
4.在從機器上解壓壓縮包
cd /home/xtrabackup-mysql tar zxvf log001.tar.gz –C data
5.在從機上把備份的目錄prepare好
innobackupex --apply-log --use-memory=4GB ./data #--use-memory:配置內存,加快速度
6.把prepare好的備份目錄拷貝回數據目錄(注意:可先備份原來數據庫目錄,拷貝后會生成數據庫目錄)【事實證明這一步不用也可以】
mv /home/mysqldata/mysql3300/data /home/mysqldata/mysql3300/data.bak innobackupex --copy-back ./data
7.修改權限:
chown -R mysql:mysql /home/mysqldata
8.重啟從數據庫
systemctl restart mysqld.service
9.進入從數據庫,配置從的主庫
CHANGE MASTER TO MASTER_HOST='192.168.8.53', MASTER_USER='root', MASTER_PASSWORD='xxx', MASTER_LOG_FILE='mysql-bin.000109 ', MASTER_LOG_POS=863747237; CHANGE MASTER TO MASTER_HOST='192.168.8.53',MASTER_USER='root',MASTER_PASSWORD='xxxx',MASTER_PORT=xxxx,MASTER_LOG_FILE='mysql-bin.000109',MASTER_LOG_POS=863747237;
10.開啟從庫
start slave;
11.查看從狀態
show slave status\G;
12.對比主從數據是否一致(下面是測試截圖)
主:
從: