阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

160次阅读
没有评论

共计 1366 个字符,预计需要花费 4 分钟才能阅读完成。

一、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)

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计1366字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中