MySQL默认是不开启binlog的,所以需要手动开启!
Windows版本
查看binlog日志是否开启
show global variables like 'log_bin';
我这里是已经开启了,默认是不开启的!
设置binlog开启
找到你mysql的my.ini
目录,我的MySQL是免安装版本的,所以我的ini文件好找,添加下面配置:
# 设置binlog开启
log_bin=E:/mysql-5.7.25-winx64/bin_log
# 设置binlog日志的格式
binlog_format=ROW
# mysql服务id
server-id=1
如果找不到myini文件,可以使用
SELECT @@datadir;
找到data目录,退出到上一级就能找到配置文件
重启服务
同时按windows键(就是Windows图标那个键)和R键,在弹出框中输入 services.msc
完成之后再去
show global variables like 'log_bin';
就可以成功了!
反正我是一步成功,我在百度的时候有人反馈说改了之后会启动不了MySQL服务,但是都是一些配置细节问题,如果有失误,请仔细确认问题!
Linux版本
找到my.cnf
添加
# 设置binlog开启
log_bin=/var/lib/mysql/mysql-bin
# mysql服务id
server-id=1
server-id表示单节点的id,这里由于只有一个节点,所以把id指定为1,如果是集群情况下,节点id不能相同。
log-bin指定日志名字为mysql-bin,并指定存储路径
重启MySQL
进入 ls /var/lib/mysql看看是否有binlog日志
再使用下面SQL查看是否启动成功:
show global variables like 'log_bin';