在MySQL中设置`server-id`变量不起作用

时间:2015-10-25 10:32:10

标签: mysql database-replication

我一直在尝试设置两个数据库作为主数据库。从设备。

我跟着着名的指南: https://dev.mysql.com/doc/refman/5.1/en/replication-howto-existingdata.html

但我的奴隶服务器没有运气, 我遇到的问题是设置server-id变量。 无论我在哪里定义它(我查看了可能允许我定义变量的所有可能的cnf文件)

我试着像这样定义它:

[mysqld]
server-id = 2

我也尝试使用SET GLOBAL server_id来设置它,但很明显,它没有保存设置。

当我这样做时:

SHOW VARIABLES LIKE 'server_id'

返回

server_id 0

我研究的cnf文件包括:

etc/mysql/mysql.conf.d/mysqld.cnf
etc/mysql/mysql.conf.d/mysqld_safe_syslog.cnf
etc/mysql/conf.d/mysql.cnf
etc/mysql/debian.cnf
etc/mysql/mysql.cnf
usr/my.cnf
usr/my-new.cnf
usr/etc/my.cnf

我的MySQL服务器正在Ubuntu上运行。 如果它很重要,我可以通过输入以下内容开始:

service mysql start

我很想知道在哪里可以解决这个问题。 非常感谢!

附加说明:

MySQL忽略全局配置文件

我收到了这个警告几次,当我将chmod返回到etc / mysql文件夹中的644时它就消失了,尽管上面说的每件事都是使用644和777权限尝试的,而644警告消失了。

2 个答案:

答案 0 :(得分:6)

我知道这是迟到的,但对于那些犯错的人。 它是 server_id 而不是 server-id

[mysqld]
server_id = 2

答案 1 :(得分:0)

对我来说,它的工作原理是将 /etc/mysql/conf.d/my.cnf 重命名为 /etc/mysql/conf.d/my.ini

我不确定具体原因(请随意编辑此答案并添加进去)。

我尝试了各种组合:

  1. 保持变量为:server-idserver_id
  2. 将组/部分保持为:[mysql][mysqld]
  3. 将文件重命名为:my.cnfmysqld.cnfmysql.cnfmy.ini

您可以继续尝试上述选项中的各种组合,它肯定会奏效。 :)