在 Ubuntu 上的 MySQL 中启用 binlog

pgu*_*rio 3 mysql log-files

如何在mysql中启用binlog?文件说要启动服务器,--log-bin但是当我这样做时:

service mysql start --log-bin=/binlog
Run Code Online (Sandbox Code Playgroud)

我得到:

start: invalid option: --log-bin=/binlog
Run Code Online (Sandbox Code Playgroud)

当我添加

log-bin = /binlog
Run Code Online (Sandbox Code Playgroud)

/etc/mysql/my.cnf它不记录任何东西。

小智 14

“service mysql start”不接受特定于mysql的选项,因为这是init系统的命令。您需要将 传递--log-bin给 mysqld。但是你应该更喜欢在配置文件中指定它;-)

在 my.cnf 的 [mysqld] 节中添加

log-bin = /path/to/log
Run Code Online (Sandbox Code Playgroud)

有可能:

expire-logs-days = 14
max-binlog-size  = 500M
server-id        = 1
Run Code Online (Sandbox Code Playgroud)

并注意指定的文件+路径必须是mysql用户可写的!您的示例指定了 /binlog。mysql 用户肯定不允许在 / 中写入文件。您可以指定一个相对路径log-bin=binlog,然后将在您的 MySQL 数据目录中创建一个名为 binlog 的文件,其中已经设置了权限。


小智 6

在 MySQL 5.7 中,您还需要添加server-id如下内容

[mysqld]
 server_id=master-01
 log_bin
Run Code Online (Sandbox Code Playgroud)

如果不添加该server_id选项,服务器将不会启动。这是来自MySQL 5.7 参考