延时从库只做备份,不提供任何对外服务
为什么要有延时从:
数据库故障?
物理损坏
主从复制非常擅长解决物理损坏.
逻辑损坏
普通主从复制没办法解决逻辑损坏
1.配置延时复制(已经有主从)
1.停止主从
mysql> stop slave;
Query OK, 0 rows affected (0.03 sec)
2.配置延时时间
mysql> change master to master_delay=180;
Query OK, 0 rows affected (0.01 sec)
3.开启主从
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
mysql> show slave status\G
SQL_Delay: 180 #延迟时间(秒)
SQL_Remaining_Delay: NULL #代表没有执行语句
2.配置延时复制(没有主从)
1.搭建出一台mysql
2.配置主从
mysql> change master to
-> master_host='172.16.1.51',
-> master_user='rep',
-> master_password='123',
-> master_log_file='mysql-bin.000001',
-> master_log_pos=424,
-> master_delay=180;
Query OK, 0 rows affected, 2 warnings (0.02 sec)
3.开启线程
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
3.关闭延时从库
mysql> stop slave;
Query OK, 0 rows affected (0.01 sec)
mysql> change master to master_delay=0;
Query OK, 0 rows affected (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.02 sec)
4.注意:
延时从库恢复数据时不要关闭主库的binlog,实际上从库还是会执行主库执行错的语句,只不过又执行了重建语句