先执行主库的操作,备份恢复完成数据库之后,再执行从库的操作
主库需要进行的操作
1、加锁只允许读取不允许写入
flush tables with read lock;
2、开始备份生产数据库 (不需要备份mysql自带的库表),备份完成之后,恢复到从库
从库的地址
ip:xxx.xxx.xxx.xxx
port:3521
user:root
pwd:123456
3、创建用户
CREATE USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
4、刷新权限
flush privileges;
5、刷新日志 在主库上执行
flush logs;
6、查看master info 记录binlog文件名称和文件的偏移量
show master status
7、等待从库建立好了同步,再解锁表
unlock tables;
8、SHOW BINARY LOGS;
从库需要执行的操作
1、查看从库日志更新是否开启
show variables like 'log_slave_updates';
2、查看延时 gtid模式是否开启
show variables like 'gtid_mode';
3、停止从库同步
stop slave;
4、开启gtid模式 需要顺序执行,先后顺序不能乱
set global gtid_mode=OFF_PERMISSIVE;
set global gtid_mode=ON_PERMISSIVE;
set global enforce_gtid_consistency=on;
set global gtid_mode=ON;
查看延时 gtid模式是否开启开启之后执行下一步
show variables like 'gtid_mode';
5、设置主库的参数 MASTER_DELAY 设置延时同步(设置为三十分钟 1800 单位为秒)
CHANGE MASTER TO
MASTER_HOST='xxxxxxx.mysql.huhehaote.rds.aliyuncs.com',
MASTER_USER='repl',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000328',
MASTER_LOG_POS=195,
MASTER_DELAY = 7200;
6、开启同步(如果有问题,执行reset slave;)
start slave;
7、查看同步状态
show slave status;
8、记得解锁主库
unlock tables;