|

楼主 |
发表于 2005-10-22 10:20:20
|
显示全部楼层
这样也有道理。我可以先得到重启后的数据库最大的ID值,与二进制日志中的INSERT ID比较就知道有多大的空洞了。不过可能要检查所有的表,因为不知道插入了那些表。
而且如果执行的不只是INSERT操作,比如UPDATE,DELETE等?
MYSQL倒是有个参数,sync_binlog,设置为 sync_binlog=1,则每秒钟都会同步缓存与日志。对于INNODB,可以使用 --innodb-safe-binlog,它会自动设置 sync_binlog=1,但这样对性能有多大的影响?我现在还没有想出好的测试性能办法。
而且我现在的实际情况时,有一台从服务器,需要在主服务器出问题的时候能够对外提供服务,而当主服务器恢复之后两者又必须同步数据。如果允许从服务器进行INSERT操作,那么在同步时就会产生键值冲突,导致从服务器出错放弃变更。至于其他类型的变更会产生什么影响,我还需要再看。
想请教那位兄弟有好的想法或方案。
谢谢楼上的“昨夜星尘”兄 |
|