5.7版本的mysql打开binlog后重启报错

有个mysql数据库服务,之前没有打开binlog,业务通过修改mysql配置文件my.cnf,添加配置:

log_bin=on<br>

这个文档中的第一句正好也说明了这一问题的原因:

This variable specifies the server ID. In MySQL 5.7, server_id must be specified if binary logging is enabled, otherwise the server is not allowed to start.

在MySQL 5.7中,如果启用二进制日志记录,必须指定server_id,否则服务器不允许启动。

我们可以将server_id改为1,以解决问题。

ps: 在MySQL 8.0中,系统变量server_id默认设置为1。当启用二进制日志记录时,服务器现在可以使用这个默认服务器ID启动,并不会报错。

5.7如何打开binlog

1.修改配置文件,my.cnf

#<br>log_bin=on<br># log-bin日志文件的名字为mysql-bin,以及其存储路径<br>log-bin=/path/mysql-bin<br>log-bin-index=/path/mysql-bin.index<br>server_id = 1<br>