我有一个生产数据库,我通常每周运行一次完整备份。我为增量备份打开了 bin 日志。
生产服务器在西海岸,而营业时间在东海岸。
当我执行全备份时,我会查询主服务器的日志和位置。我将这些值放在我将数据库压缩到的 zip 文件名中。
我在使用 mysqlbinlog 从我知道备份已经结束的某个位置创建增量 sql 文件时遇到了困难。
运行Show Master Status
然后运行mysqldump --flush-logs --single-transaction...
就足以获得准确的信息以进行恢复。
我知道理想的设置是备份从属数据库,因为锁定不会损害生产环境,但目前我还没有进行切换。
因为我没有锁定所有表,所以我没有得到理想的结果吗?
提前致谢
编辑
在 RolandoMySQLDBA 的帮助下,我意识到我没有指向适当的 binlog 文件。我改为指向整个目录binlog/bin-log.[0-9]* > sql.txt
。因此,仅使用该位置,我就可以击中比预期更早开始的日志。所以我更改了我的脚本以提取适当的 binlog 文件以及位置,这就像一个魅力。
谢谢