手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

MySQL 5.7.x无法开启二进制日志的解决方案

[日期:2018-10-08] 来源:Linux社区  作者:yangleitao [字体: ]

一、MySQL 5.7.x开启二进制日志

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代表的是basename就是生成二进制日志文件的前缀部分,默认的位置在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,basename设置为mysql-bin,index文件也自动生成,index文件记录的就是所有的二进制文件的名称及位置信息.

mysql> show variables where variable_name in ('log_bin','log_bin_basename','log_bin_index');
+------------------+--------------------------------+
| Variable_name    | Value                          |
+------------------+--------------------------------+
| log_bin          | ON                            |
| log_bin_basename | /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)

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-10/154696.htm

linux
相关资讯       MySQL开启二进制日志 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款