一、开启二进制日志
1)未开启二进制日志之前:
mysql> show variables like 'log_bin'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_bin | ON | #二进制日志是关闭的 +---------------+-------+ 1 row in set (0.00 sec) mysql>
2)开启二进制日志
修改my.cnf并且将以下参数加入其中,重启mysql实例:
log_bin=mysql-bin #其中mysql-bin代表的是 name就是生成二进制日志文件的前缀部分,默认的位置在datadir目录下,也可以设置为其他的路径 server-id=11 #由于bug问题必须设置这个id,数字随便写 datadir=/var/lib/mysql #默认指定文件存放位置,可修改,但是要注意权限
重启服务器:
systemctl restart mysqld
3)查看开启状态;
mysql> show variables like 'log_bin'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_bin | ON | +---------------+-------+ 1 row in set (0.00 sec) 注:在my.cnf中设置好log-bin之后,log_bin自动设置为ON, name设置为mysql-bin,index文件也自动生成,index文件记录的就是所有的二进制文件的名称及位置信息. mysql> show variables where variable_name in ('log_bin','log_bin_ name','log_bin_index'); +------------------+--------------------------------+ | Variable_name | Value | +------------------+--------------------------------+ | log_bin | ON | | log_bin_ name | /var/lib/mysql/mysql-bin | | log_bin_index | /var/lib/mysql/mysql-bin.index | +------------------+--------------------------------+ 3 rows in set (0.01 sec) mysql>
4)注意事项
在官方文档中,说启用binary log只是需要将log-bin=mysql-bin设置即可,但是因为有bug,所以必须要设置server-id否则启动不成功.
官方文档解释如下:
If you specify the --log-bin option without also specifying a --server-id, the server is not allowed to start. (Bug #11763963, Bug #56739)
继续阅读与本文标签相同的文章
-
《Android进阶解密》| 每日读本书
2026-05-18栏目: 教程
-
watchbog再升级,企业黄金修补期不断缩小,或面临蠕虫和恶意攻击
2026-05-18栏目: 教程
-
阿里巴巴资深技术专家雷卷:值得开发者关注的 Java 8 后时代的语言特性| 9月9号栖夜读
2026-05-18栏目: 教程
-
3年Java开发6个点搞定高并发系统面试疑惑
2026-05-18栏目: 教程
-
请求支援!我被“非结构化数据包围了” | 开发者必读(060期)
2026-05-18栏目: 教程
