从 bash 脚本运行查询时 MySQL 复制不起作用

标签 mysql bash replication

我有 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/

相关文章:

php - MySQL 复制如何保持同步?

mysql - Mysql 中的字符串精确比较

bash - CPU使用率超过N%时如何重启服务?

php - 通过 mysql 和 laravel 创建行队列

linux - 指向可执行文件的符号链接(symbolic link)不会启动应用程序,错误 : <symlink> doesn't exist

linux - 在 Linux 中为同一行合并两个命令

mongodb - redis vs mongodb - 从主服务器复制到运行内存数据库的从服务器

mysql - 将 MySQL 复制到 Hadoop

php - 获取数据库中的值并将其放入没有键的数组中,

MySQL 在数组中动态存储新用户 ID 并检索的方法