我如何启用mysql的binlog? 文件说用--log-bin启动服务器,但是当我这样做的时候:
service mysql start --log-bin=/binlog
我得到:
start: invalid option: --log-bin=/binlog
而当我补充
log-bin = /binlog
到/etc/mysql/my.cnf它不logging任何东西。
“服务mysql启动”将不接受特定于mysql的选项,因为这是init系统的一个命令。 您需要将–log-bin传递给mysqld。 但你应该更喜欢在configuration文件中指定;-)
添加my.cnf的[mysqld]节
log-bin = /path/to/log
有可能:
expire-logs-days = 14 max-binlog-size = 500M server-id = 1
注意指定的文件+path必须是mysql用户可写的! 你的例子指定了/ binlog。 mysql用户当然不允许在/中写入文件。 你可以指定一个像“log-bin = binlog”这样的相对path,然后在你的MySQL数据目录里创build一个名为binlog的文件,在这个目录里已经设置了权限。
在MySQL 5.7中,您还需要添加server-id ,如下所示
[mysqld] server_id=master-01 log_bin
如果您不添加server_id选项,服务器将不会启动。 这是来自MySQL 5.7的参考 。
服务mysqld停止
编辑/etc/mysql/my.cnf:在日志logging和复制定位log_bin下。 取消对log_bin的评论
服务mysqld启动