©
Ce document utilise Manuel du site Web PHP chinois Libérer
egrep -v "#|\/|^$|--" /mnt/database_bak.sql
mysqlbinlog mysql-bin.000001
mysqlbinlog -d test mysql-bin.000001
mysqlbinlog mysql-bin.000001 --start-position=510 --stop-position=1212 -r pos.sql
# 输出初始位置510,结束位置1212的所有binlog日志到pos.sql文件中
注意:结尾的日志点比较特殊,不会被包含。即输出1212pos点以前的binlog。位置点信息一般要实际存在,不能随意指定。
mysqlbinlog mysql-bin.000001 --start-position=510 -r pos510toend.sql
# 输出初始位置510到binlog文件结尾的所有binlog到指定文件pos510toend.sql
中,也可以指定库名输出binlog,例如:
mysqlbinlog mysql-bin.000001 --start-position=510 -r pos510toend.sql -d test
流程制度控制。如果不做,将面临服务和数据,鱼和熊掌不可兼得。
信息做监控,黑名单,白名单机制,延迟备份解决。
业务需求,选择停库。
人为SQL造成的误操作
全备和增量
恢复时建议对外停止更新
恢复全量,然后把增量日志中有问题的SQL语句删除,恢复到数据库
mysqldump -uroot -paaaaaa -B database > /data/bak/3306.sql
mysql -uroot -paaaaaa </data/bak/3306.sql