views:

25

answers:

1

I just tried adding binary logging to my mySQL "my.ini" file with the intention of being able to do incremental backups. However, I immediately provoked an error

Binary logging not possible. Message: Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT'

CF 9.01, mySQL 5.1, on an Win XP development machine.

I thought it was a problem with cftransaction, but I get the same error in a simple test update with nothing else on the page

<cfquery datasource='mySQLdata'>        
    UPDATE patients
    SET patientTitle='Mr.',
    patientFirstname='Peter',
    patientLastname='Smith'
    WHERE nhsNumber=7777777777  
</cfquery>

My "my.ini" file (all except last line generated from the wizard)

[client]
port=3306

[mysql]
default-character-set=latin1

[mysqld]

port=3306
basedir="F:/Program Files/MySQL/MySQL Server 5.1/"
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/"
default-character-set=latin1
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=341
query_cache_size=9M
table_cache=700
tmp_table_size=16M
thread_cache_size=17
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=8M
key_buffer_size=13M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=208K
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=22M
innodb_log_file_size=10M
innodb_thread_concurrency=10

log-bin = c:/binlogs

If I take out my

log-bin=c:/binlogs

line all works again. What's going on?

A: 

This is a bug in MySQL. Looks like it has been fixed. You can upgrade or there looks to be a workaround by switching the installation to mixed mode:

http://bugs.mysql.com/bug.php?id=40360

ryber
That relates to the same error message with occuring but with binlog off. I am trying to set binlog on
Saul
Maybe it has nothing to do with binlog. Have you tried their workaround or upgrading?
ryber