没有使用Fedora 16设置MySQL server-id

我在Fedora 16系统上设置了一个mysql slave,并且没有正确设置server_id.我的/etc/my.cnf是:

[mysqld]
server-id=16
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
read-only = 1
symbolic-links=0
max_allowed_packet = 100000000

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

但是,在systemctl重新启动mysqld.service之后,显示“server_id”之类的变量表示server_id为0,这会导致复制失败.

/var/log/mysqld.log是我上次重新启动服务器时的最后一次修改,但是从那时起没有日志条目(我今天重启了,最后一个条目来自昨天).

为什么server-id = 16不起作用?是否需要在其他文件中设置?或者,有没有办法编辑systemd单元文件,以便mysqld以–server-id =命令行选项启动,或者让mysqld运行SQL语句以在启动时设置server_id?

最佳答案
使用check selinux上下文,它们可能是错误的

对于mysqld启动,除/var/log/mysqld.log之外的关闭消息也检查/ var / log / messages.

如果消息(警告/错误)显示sealert建议,请检查mysqld selinux上下文,它们可能是错误的或过时的.相应更新可能会解决问题.

要在mysqld启动脚本中使用–server-id =,请检查以下位置

/etc/sysconfig/

可能有一个mysqld文件,您可以自定义启动选项.

/etc/rc.d/init.d/

mysqld启动脚本驻留在这里.您可以在脚本中对该选项进行硬编码.但是,每次升级时,您都必须应用更改.

PS:您可能需要考虑将slave box OS切换到debian / ubuntu,因此系统知识将适用于两台机器.此外,(恕我直言)由于发行版寿命短(6mo保质期6mo更新支持),Fedora不是生产/服务器盒的不错选择.如果首选RedHat相关操作系统,请使用RedHat或CentOS.

转载注明原文:没有使用Fedora 16设置MySQL server-id - 代码日志