我想在mysql上设置复制。
我用以下内容替换了从站中my.ini文件的内容:
[mysqld]
log-bin = mysql-bin
server_id = 2
server-id = 2
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1
replicate_do_db = replica
我不知道正确的“ server_id”或“ server-id”,所以我都写了它们。然后保存并重新启动mysql。然后我用命令检查: 显示类似“ server_id”的变量 然后显示输出:
+ --------------- + ------- +
| Variable_name | Value |
+ --------------- + ------- +
| server_id | 1 |
+ --------------- + ------- +
我很困惑,为什么结果为1?然后,我使用命令再次尝试: 显示类似“ server-id”的变量 然后显示输出: 空置(0.00秒)
问题是:
哪个是正确的:“ server_id”或“ server-id”? (因为我已经尝试过两个都不能)
为什么使用上述设置保存my.ini文件后,server_id变量保持不变?
注意: 我已经运行了“停止从站”命令->“启动从站”然后“重置主站”,但是结果保持不变。
答案 0 :(得分:0)
server_id是正确的
主机和每个从机必须配置一个唯一的ID(使用 服务器ID选项)。此外,每个从站必须配置有 有关主主机名,日志文件名和位置的信息 在该文件中。
我假设您使用二进制日志选项进行复制
因此,请仔细阅读手册(https://dev.mysql.com/doc/refman/8.0/en/replication-howto.html) 您肯定需要: