`
最王座
  • 浏览: 136701 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MySQL binlog_format异常

阅读更多

环境

tomcat 6.x

jdk 1.6

mysql5.5

 

异常

执行jdbc查询时抛出异常:

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.

 

原因及解决方案

This is required by MySQL:

Statement based binlogging does not work in isolation level
READ UNCOMMITTED and READ COMMITTED since the necessary
locks cannot be taken.

根据tomcat抛异常,提示是事务级别在read committed和read uncommitted的时候binlog必须设置为row格式。

这个是java设置的一个局限性,java默认的事务级别是read committed,而mysql默认设置的binlog_format=statement。

将binlog_format设置为mixed

set global binlog_format=mixed;

过段时间,异常仍在!

设置成row

set global binlog_format=row;

问题解决!

或:

mysql> SET SESSION binlog_format = 'ROW';

mysql> SET GLOBAL binlog_format = 'ROW';

注意: 若手动修改linux下面/etc/my.cnf :  binlog_format = row  ,  需要重启mysql。

 

分享到:
评论

相关推荐

    mysql中binlog_format模式与配置详细分析

    主要介绍了mysql中binlog_format模式与配置的相关内容,详细介绍了binlog的三种格式与SBR、 RBR 两种模式各自的优缺点,需要的朋友可以参考。

    MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM

    主要介绍了MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM,需要的朋友可以参考下

    实例验证MySQL|update字段为相同的值是否会记录binlog|ysql-643108.pdf

    是否记录 update 语句到binlog依赖于 binlog_format 的设置。具体情况 实践出真知。 二 测试 2.1 binlog_format 为 ROW 模式 2.2 binlog_format 为 STATEMENT 模式 解析binlog内容,完整的记录了update语句。 ...

    binlog文件解析相关.docx

    介绍了mysql binlog相关查看命令,以及binlog_format在不同模式的解析文档

    wing324#helloworld_zh#MySQL5-6之特别的RAND-函数1

    1.在没有特殊说明的情况下,默认binlog_format=STATEMENT,由于binlog_format=ROW/MIXED模式下,RAND()函数以行格

    py-mysql-es:mysql binlog到es

    py-mysql-es mysql binlog同步到elasticsearch 安装 pip install yaml ...binlog-format = row MySQL用户权限 CREATE USER es IDENTIFIED BY 'es'; GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT

    MySQL binlog中的事件类型详解

    MySQL binlog记录的所有操作实际上都有对应的事件类型的,譬如STATEMENT格式中的DML操作对应的是QUERY_EVENT类型,ROW格式下的DML操作对应的是ROWS_EVENT类型。 ...fix Format_description_event:

    MySQL数据库实现双活操作流程-实操版本.docx

    MySQL数据库实现双活是指在多个数据中心中安装有相同的MySQL服务...例如,配置binlog_format为ROW、设置read_only参数为0,利用GTID来控制并发更新,以及使用Delay-aware Load Balancer等技术,保证数据能够及时同步。

    mysql开启binlog步骤讲解

    binlog是二进制日志文件,用于记录mysql的数据变更,数据在恢复的时候binlog日志能起到很大的作用。mysql的主从复制就是利用的binlog原理 1、登录mysql之后使用下面的命令查看是否开启binlog show variables like ...

    mysql-binlog-emitter:Node.js mysqlmariadb从属复制事件发射器

    mysql-binlog-emitter 一个nodejs mysql / mariadb从属复制事件发射器。 这是mysql的二进制日志协议的高级实现,如果您仅对数据库中发生的更改感...bin_index = /var/log/mysql/mysql-bin.indexbinlog-format = row #

    mysql全量备份、增量备份实现方法

    binlog-format = ROW log-bin-index = /home/mysql/logindex binlog_cache_size=32m max_binlog_cache_size=512m max_binlog_size=512m 重启mysql即可。其中路径 /home/mysql的用户和组要改成mysql。 2、增量备份 ...

    MySQL执行update语句和原数据相同会再次执行吗

    binlog_format为ROW 参数 root@localhost : (none) 04:53:15> show variables like 'binlog_row_image'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | binlog_row_...

    lnmp关闭mysql日志保护硬盘空间的方法

    下面先来分享一下,关闭mysql日志的方法 LNMP一键包安装的Mysql默认开启Mysql日志,如果网站对数据库读写...binlog_format=mixedbash 注释这两行,如下: #log-bin=mysql-bin #binlog_format=mixedbash 在这两个字段之前

    lnmp下如何关闭Mysql日志保护磁盘空间

    LNMP一键包安装的Mysql默认开启Mysql日志,如果网站对数据库读写较为频繁的话...binlog_format=mixedbash 注释这两行,如下: 代码如下: #log-bin=mysql-bin #binlog_format=mixedbash 在这两个字段之前添加“#”号

    Mysql误删数据解决方案及kill语句原理

    原理是修改binlog的内容,拿回原库重放,需要确保binlog_format=row和binlog_row_imsge=Full 具体恢复时 如果是insert,将binlog event类型是write_rows event改为delete_rows event。 如果是delete则相反。

    MySQL二进制日志(binlog)开启、查看、截取

    binlog_format=(row、statement、mixed) statement:SBR,语句模式记录日志,做什么命令,记录什么命令. 可读性较强,对于范围操作日志量少,但是可能会出现记录不准确的情况:insert into xx values (1,'sa

    bingo2sql:MySQL Binlog 解析

    指定远程数据库地址,起止时间范围或binlog范围,可指定库/表和操作类型,GTID/线程号等解析服务API:提供HTTP协议方式的解析接口,支持解析和打包下载限制和要求MySQL必须开启binlogbinlog_format = rowbinlog_row_...

    MySQL 5.5主从同步设置笔记分享

    在 [mysqld] 中新增以下内容: 代码如下:log-bin=mysql-binlog-bin-index=mysql-bin.indexserver-id = 1sync_binlog=1binlog_format=mixed然后指定要做同步的数据库,并忽略掉不需要做同步的数据库 代码如下:binlog-...

    实现MySQL回滚的Python脚本的编写教程

    这里先说明下因为Delete 操作的恢复方法:主要还是通过binlog来进行恢复,前提是binlog_format必须是Row格式,否则只能通过备份来恢复数据了。 方法: 条件:开启Binlog,Format为Row。 步骤: 1.通过MySQL自带工具...

Global site tag (gtag.js) - Google Analytics