1、主库mysqldump
mysqldump --all-databases --default-character-set=utf8 -R -q --triggers --master-data=2 --single-transaction >0811.sql
2、scp 0811.sql(信任)
3、防火墙
从到主的3306
4、建立备份账号
grant replication slave on *.* to 'backup'@'10.129.130.183' identified by '123123';
5、备库测试账号是否能登录
5、查看备库数据库连接(防止有应用连接)
show processlist
6、倒
mysql --default-character-set=utf8 <0811.sql
过程较长我就可以看一下数据库里面的数据库什么情况了(mysqlshow)
可以看看执行到哪个数据库了mysqladmin pro
查看datadir du -sh ./*
7、指定主库
CHANGE MASTER TO
MASTER_HOST='10.129.132.28',
MASTER_USER='backup',
MASTER_PASSWORD='123123',
MASTER_PORT=3306,
MASTER_AUTO_POSITION = 1;
8、开始从库
start slave
9、show slave status
这里有个小故障:
这个主备是开启gtid的
1、如果在备份的时候我把set_gtid_purged=OFF 从库这时候就找不到gtid去同步数据了报如下错误
Could not execute Write_rows event on table backend.sys_oper_log; Duplicate entry '190255' for key 'P(数据库备份的时候把gtid_purge=OFF了)
error connecting to master 'backup@10.129.132.28:3306' - retry-time: 60 retries: 2(连接不上主库)
解决:
直接找到binlog的恢复点,按照偏移量的方式去指定主库
2、如果备份的时候没有set_gtid_purged=OFF:
我在<.sql倒数据的时候会报错
因为我备库上面参数开了我自己也有自己的gtid
这时候
解决:
reset master(不记录自己的gtid)
然后再倒数据