是否可以在 SQL 会话期间更改 MySQL 服务器 ID?

Cra*_*ide 3 mysql

我有一个 MySQL 5.5 服务器,服务器 ID 为 20。我想在该服务器上执行一些查询,但让它们作为不同于20 的服务器 ID写入 binlog。这可能吗?

我知道set sql_log_bin通常用于随意打开/关闭 binlogging,但我实际上确实想执行这些查询并将它们写入 binlog,就像另一个服务器 ID。

set server_id=21错误说它需要是全局的,而不是会话变量,所以我可能已经有了我的答案,但是,我仍然觉得这是可能的。我的意思是,mysql复制从属组件可以做到。

小智 6

server_id是一个动态变量,因此您可以在服务器运行时更​​改它。要更改全局变量,请执行以下操作:

SET GLOBAL server_id=21
Run Code Online (Sandbox Code Playgroud)

更多信息见http://dev.mysql.com/doc/refman/5.5/en/replication-options.html#option_mysqld_server-id