?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
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,結(jié)束位置1212的所有binlog日志到pos.sql文件中
注意:結(jié)尾的日志點(diǎn)比較特殊,不會(huì)被包含。即輸出1212pos點(diǎn)以前的binlog。位置點(diǎn)信息一般要實(shí)際存在,不能隨意指定。
mysqlbinlog mysql-bin.000001 --start-position=510 -r pos510toend.sql
# 輸出初始位置510到binlog文件結(jié)尾的所有binlog到指定文件pos510toend.sql
中,也可以指定庫(kù)名輸出binlog,例如:
mysqlbinlog mysql-bin.000001 --start-position=510 -r pos510toend.sql -d test
流程制度控制。如果不做,將面臨服務(wù)和數(shù)據(jù),魚和熊掌不可兼得。
信息做監(jiān)控,黑名單,白名單機(jī)制,延遲備份解決。
業(yè)務(wù)需求,選擇停庫(kù)。
人為SQL造成的誤操作
全備和增量
恢復(fù)時(shí)建議對(duì)外停止更新
恢復(fù)全量,然后把增量日志中有問(wèn)題的SQL語(yǔ)句刪除,恢復(fù)到數(shù)據(jù)庫(kù)
mysqldump -uroot -paaaaaa -B database > /data/bak/3306.sql
mysql -uroot -paaaaaa </data/bak/3306.sql