在 Ubuntu 上的 MySQL 中启用 binlog

在 Ubuntu 上的 MySQL 中启用 binlog

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

service mysql start --log-bin=/binlog

我得到:

start: invalid option: --log-bin=/binlog

当我添加

log-bin = /binlog

/etc/mysql/my.cnf不记录任何内容。

答案1

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

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

log-bin = /path/to/log

有可能:

expire-logs-days = 14
max-binlog-size  = 500M
server-id        = 1

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

答案2

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

[mysqld]
 server_id=master-01
 log_bin

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

答案3

服务 mysqld 停止

编辑 /etc/mysql/my.cnf : 在日志和复制下找到 log_bin。取消对 log_bin 的注释

服务 mysqld 启动

答案4

你可以使用以下命令启动服务器

mysqld --log-bin=/binlog

相关内容