mysql 写数据,binlog无日志
时间: 2023-07-27 10:26:39 浏览: 28
如果MySQL写数据时binlog无日志,可能是因为以下原因之一:
1. binlog_format参数设置错误:binlog_format参数决定了binlog的格式,如果设置为ROW或MIXED,写数据时会有binlog日志记录,但如果设置为STATEMENT,写数据时则不会有binlog日志记录。可以通过以下命令查看当前binlog_format的设置:
```
show variables like 'binlog_format';
```
如果binlog_format的值为STATEMENT,可以通过修改my.cnf文件或者在命令行中修改该参数来改变binlog_format的设置:
```
[mysqld]
binlog_format=ROW
```
2. 没有开启binlog:如果MySQL没有开启binlog功能,写数据时就不会有binlog日志记录。可以通过以下命令查看binlog是否开启:
```
show variables like 'log_bin';
```
如果log_bin的值为OFF,可以通过修改my.cnf文件或者在命令行中修改该参数来开启binlog功能:
```
[mysqld]
log_bin=/var/log/mysql/mysql-bin.log
```
3. 数据库权限问题:如果当前用户没有写binlog的权限,写数据时就不会有binlog日志记录。可以通过以下命令查看当前用户的权限:
```
show grants;
```
如果当前用户没有写binlog的权限,可以通过以下命令给当前用户授权:
```
grant replication slave, replication client on *.* to 'username'@'%' identified by 'password';
```
相关推荐


















