企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# MySQL的备份与恢复 ### **查看MySQL的备份数据** (重要) ``` egrep -v "#|\/|^$|--" /mnt/database_bak.sql ``` ### MySQL查看bin-log日志的方法 ``` mysqlbinlog mysql-bin.000001 ``` ### 拆分总的binlog为指定库的增删改操作(恢复指定库的binlog时使用) ``` 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` #### 从文件开头到指定结束位置 ### 增量恢复思想 1. 流程制度控制。如果不做,将面临服务和数据,鱼和熊掌不可兼得。 2. 信息做监控,黑名单,白名单机制,延迟备份解决。 3. 业务需求,选择停库。 ### 增量恢复 1. 人为SQL造成的误操作 2. 全备和增量 3. 恢复时建议对外停止更新 4. 恢复全量,然后把增量日志中有问题的SQL语句删除,恢复到数据库 ### MySQL的物理备份 ``` mysqldump -uroot -paaaaaa -B database > /data/bak/3306.sql ``` ### MySQL的物理还原 ``` mysql -uroot -paaaaaa </data/bak/3306.sql ```