`
最王座
  • 浏览: 140482 次
  • 性别: 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)是数据库复制的重要组成部分,它记录了所有改变数据库状态的事务。`binlog_format` 参数定义了binlog的记录方式,有三种模式:STATEMENT、ROW和MIXED。 1. **STATEMENT模式(SBR)** -...

    mysql binlog日志恢复【亲测有效,有例子实测】

    MySQL的二进制日志(binlog)是数据库系统中至关重要的组件,它记录了所有对MySQL数据库进行的改变操作,包括表结构的修改(如CREATE、ALTER TABLE等)和表数据的更新(INSERT、UPDATE、DELETE等)。binlog不记录...

    mysql binlog的三种模式

    ### MySQL Binlog 的三种模式详解 #### 一、引言 在MySQL数据库系统中,Binlog(Binary Log)是至关重要的日志记录机制之一,它主要用于记录所有改变数据的SQL语句,对于实现主从复制、数据恢复等功能具有不可替代...

    MySQL – binlog日志简介及设置

    binlog_format = mixed log-bin = /data/mysql/logs/mysql-bin.log expire_logs_days = 7 max_binlog_size = 100m binlog_cache_size = 4m max_binlog_cache_size = 512m ``` 这些配置分别设置了日志格式、日志路径...

    MySQL二进制日志(binlog)解析工具

    MySQL binlog包含了多种事件类型,如QUERY、ROTATE、FORMAT_DESCRIPTION等。通过选择感兴趣的SQL类型,我们可以专注于我们需要的数据操作,例如只处理DDL(Data Definition Language)或DML事件。 Python作为解释型...

    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 = STATEMENT" 是一个常见的警告信息,它涉及到MySQL的二进制日志(Binary Log)和复制(Replication)机制。...

    binlog文件解析相关.docx

    本篇文章将深入探讨如何查看和解析MySQL的binlog文件,特别是针对两种不同的binlog_format模式——ROW和STATEMENT,以及与GTID(Global Transaction Identifier)的配合使用。 首先,我们可以使用`show master ...

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

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

    基于Python实现用于解析和转换 MySQL 二进制日志(binlog)的工具源码

    MySQL二进制日志(Binary Log,简称binlog)是MySQL数据库系统中记录所有更改数据库数据的事件序列的重要工具,主要用于数据恢复、主从复制等场景。本篇将深入探讨如何利用Python语言来解析和转换MySQL的binlog,...

    MySQL误操作后快速恢复数据的方法

    这里的`server-id`用于区分不同的MySQL实例,`log_bin`指定了binlog日志的存储路径,`max_binlog_size`设定了单个binlog文件的最大大小,`binlog_format = row`表示采用行格式的binlog,这对于数据恢复更为精确。...

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

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

    mysql数据库恢复 binlog2sql数据库恢复

    这通常涉及到设置my.cnf配置文件,开启binlog功能,并设定合适的binlog_format(如ROW、STATEMENT或MIXED),以及binlog_row_image(FULL、MINIMAL或NO)。此外,还需要设置合适的binlog_size,以控制单个binlog文件...

    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 PXC_百度大神cnf配置

    - `binlog_format`: 日志格式,一般推荐`ROW`模式以支持PXC的行级复制。 - `gtid_mode`: 设置全局事务ID模式,对于PXC应启用(如`ON`或`ENFORCED`)。 6. **安全与监控**: - `bind-address`: MySQL服务器监听的...

    Mysql+binlog浅析

    binlog的存储位置和文件名可以通过配置参数`expire_logs_days`和`binlog_format`来设定,前者定义了binlog的过期时间,后者设置了binlog的记录格式。 **1.3 内容纲要** 本文档将涵盖以下主题: - **查看日志**:...

    MySQL binlog中的事件类型详解

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

    windows下mysql双机热备.doc

    * 在服务器A和服务器B上分别修改配置文件my.ini,添加server-id、log-bin、sync_binlog、binlog_format、auto_increment_increment、auto_increment_offset、max_binlog_size、expire_logs_days、binlog_do_db、...

    MySQL日志的具体介绍

    log_bin_basename | MySQL 的 binlog 日志的基础名称(前缀) log_bin_index | binlog 的索引文件,里面记录了当前服务器关联的 binlog 文件有哪些。 二进制日志格式 MySQL 服务器中提供了多种格式来记录二进制...

Global site tag (gtag.js) - Google Analytics