要保证线上数据库的安全,备份是通常会想到的办法,常用的备份方案有,热copy,第3方工具,快照,镜像等,这些方法均对数据库或系统有一定的影响,还有个方案就是主从,而且从库不要实时同步,由定时器控制延后从库同步。
适应的场景:如某人删除了主库,如果有实时同步,数据也会直接影响所有从库。所有安全的做法是做延时再同步。甚至从库有几种同步策略,间隔时间不同的从库进行实时备份。比如1小时前的、2小时间前的、3小时间前的...
比如由脚本定期开始同步有关闭
stop slave;
start slave;
这应该是一个实时备份数据库的好方法,可以承受数据丢失的时间由控制器间隔的时间来调整。
MySQL 5.6 supports delayed replication such that a slave server deliberately lags behind the master by at least a specified amount of time. The default delay is 0 seconds. Use the MASTER_DELAY option for CHANGE MASTER TO to set the delay to N seconds:
CHANGE MASTER TO MASTER_DELAY = N;
MySQL5.6已经支持延时复制!
https://dev.mysql.com/doc/refman/5.6/en/replication-delayed.html
其他:
A. 主-从 常用问题
要salve跳过错误的语句
SET GLOBAL sql_slave_skip_counter=1;
stop slave;
start slave;
show slave status\G;
B.监控mysql process
watch 'mysqladmin proc'
watch 'netstat -an|grep 443|grep "EST"|wc -l'