要保证线上数据库的安全,备份是一般会想到的办法,经常使用的备份方案有,热copy,第3方工具,快照,镜像等,这些方法均对数据库或系统有必定的影响,还有个方案就是主从,并且从库不要实时同步,由定时器控制延后从库同步。php
适应的场景:如某人删除了主库,若是有实时同步,数据也会直接影响全部从库。全部安全的作法是作延时再同步。甚至从库有几种同步策略,间隔时间不一样的从库进行实时备份。好比1小时前的、2小时间前的、3小时间前的...html
好比由脚本按期开始同步有关闭mysql
stop slave; start slave;
这应该是一个实时备份数据库的好方法,能够承受数据丢失的时间由控制器间隔的时间来调整。sql
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:shell
CHANGE MASTER TO MASTER_DELAY = N;
MySQL5.6已经支持延时复制!数据库
https://dev.mysql.com/doc/refman/5.6/en/replication-delayed.html 安全
其余:工具
A. 主-从 经常使用问题spa
要salve跳过错误的语句code
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'