已搭建好的数据库实例:(配置文件中需要开启log-bin和server_id参数)
10.13.128.21 master
10.13.128.20 slave
1.确认主库从库的my.cnf
server_id 主从需要设置成不一样的
例如:
主库:
server_id = 1312821
从库:
server_id = 1312820
2.master全备
mysqldump -uroot -pmima001 -hlocalhost -P3306 --master-data=2 --single-transaction -q --set-gtid-purged=OFF --add-drop-database --default-character-set=utf8 --routines --events --log-error=`date +"%Y-%m-%d"`.log -A > all.sql
scp all.sql 10.13.128.20:/data/packages
3.从库导入
(1)先进入从库关闭慢查询日志
mysql -uroot -pmima001
SET GLOBAL slow_query_log=off;
exit;
(2)导入
mysql -uroot -pmima001 --default-character-set=utf8 < all.sql
mysql -uroot -pmima001
SET GLOBAL slow_query_log=on;
flush privileges;
exit;
(3)查看binlog的位置
cat all.sql |grep "CHANGE MASTER TO MASTER_LOG_FILE='"
(4)主从搭建:从库执行(MASTER_LOG_FILE 、MASTER_LOG_POS根据上面的查询结果修改)
mysql -uroot -pmima001
change master to MASTER_HOST='10.13.128.21',MASTER_USER='slave-repl',MASTER_PASSWORD='8BhHY0vK7Al4btd',MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=120,MASTER_PORT=3306;
(5)查看
start slave;
show slave status\G;
3.从库跳错
stop slave;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
start slave;
show slave status\G;