我们有一个主从复制[MySQL 5.6]。但是,在从属数据库中,一个表中缺少2行。我尝试使用建议的here使用Percona Toolkit解决此问题。
但是
pt-table-checksum
需要基于语句的复制,并且它在主服务器上设置了binlog_format=STATEMENT
,但是由于MySQL的限制,副本不接受此更改。因此,校验和不会使用作为进一步副本的母版的基于行的复制来复制经过任何副本。
那么,如果:
SET SQL_LOG_BIN=0;
INSERT INTO `tbl_name` (`id`, `column1`, ...)
VALUES ( 4321, 'some val', ...),
( 4344, 'some val2', ...);
REPLACE INTO
查询 REPLACE INTO `tbl_name` (`id`, `column1`, ...)
VALUES ( 4321, 'some val', ...);
REPLACE INTO `tbl_name` (`id`, `column1`, ...)
VALUES ( 4344, 'some val2', ...);
有人可以建议哪种方法安全可靠。这是解决问题的正确方法。有这样做的风险吗?