Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Java 默认事务级别read committed对binlog_format的需求

java.sql.SQLException: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ
UNCOMMITTED.tomcat抛异常如上!提示是事务级别在read committed和read uncommitted的时候binlog必须设置为row格式这个是java设置的一个局限性,java默认的事务级别是read committed,而mysql默认设置的binlog_format=statement。将binlog_format设置为mixedset global binlog_format=mixed;过段时间,异常仍在!设置成rowset global binlog_format=row;问题解决!或:mysql> SET SESSION binlog_format = "ROW";mysql> SET GLOBAL binlog_format = "ROW";注意: 若手动修改linux下面/etc/my.cnf :  binlog_format = row ,  需要在重启mysql是注意配置是否生效,本人测试比较难生效。