我有 2 台带有 MySQL 主主复制集的服务器。
当我在任何服务器上从 PHP 脚本运行 INSERT/UPDATE 查询时,它会在其他服务器上很好地复制。
无论如何,当我从 bash 脚本运行 UPDATE 时,不会发生这种情况:字段的值只会在我运行 bash 脚本的服务器上更新,而不会在另一台服务器上复制。
关于为什么无法通过 BASH 脚本进行复制有什么想法吗?
这是只更新本地记录的 mysql 更新的样子:
mysql -B -N -u $USER -p$PASSWORD -h $HOST -e "UPDATE $DATABASE.$TABLE SET Status='-1' WHERE Id=$ID"
最佳答案
我想您已经设置了REPLICATE_DO_DB
。使用SHOW SLAVE STATUS
进行检查。这有点棘手:如果你让它只复制 foo
数据库,并且你执行如下操作:
use bar; -- or even without it
UPDATE foo.table SET Status='-1' WHERE Id=69;
它不会被复制。确保使用
要复制的数据库。
关于从 bash 脚本运行查询时 MySQL 复制不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23537350/