Bug #42207 insert into error
Submitted: 20 Jan 2009 7:51 Modified: 20 Jan 2009 11:12
Reporter: Nick Chang Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Replication Severity:S1 (Critical)
Version:5.1.29 OS:Linux (CentOS 4.6)
Assigned to: CPU Architecture:Any

[20 Jan 2009 7:51] Nick Chang
Description:
1、/etc/my.cnf
[client]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
default-character-set=utf8

[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
init_connect='SET NAMES utf8'

port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 501M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
log-bin=mysql-bin
server-id       = 1
old_passwords=1
max_connections=1000
long_query_time = 30
log-slow-queries = slow_queries.log
log-bin-trust-function-creators = 1
skip-name-resolve
relay-log=db1-relay-bin

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

it's my setting. 

+---------------------------------+----------------------+
| Variable_name                   | Value                |
+---------------------------------+----------------------+
| binlog_cache_size               | 32768                |
| binlog_format                   | STATEMENT            |
| innodb_locks_unsafe_for_binlog  | OFF                  |
| log_bin                         | ON                   |
| log_bin_trust_function_creators | ON                   |
| log_bin_trust_routine_creators  | ON                   |
| max_binlog_cache_size           | 18446744073709551615 |
| max_binlog_size                 | 1073741824           |
| sql_log_bin                     | ON                   |
| sync_binlog                     | 0                    |
+---------------------------------+----------------------+
10 rows in set (0.00 sec)

I want to insert into new data. But display error message.

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

Can you tell me?? How to slave this problem?? Thanks for your help.

BR
Nick

How to repeat:
1、/etc/my.cnf
[client]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
default-character-set=utf8

[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
init_connect='SET NAMES utf8'

port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 501M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
log-bin=mysql-bin
server-id       = 1
old_passwords=1
max_connections=1000
long_query_time = 30
log-slow-queries = slow_queries.log
log-bin-trust-function-creators = 1
skip-name-resolve
relay-log=db1-relay-bin

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

it's my setting. 

+---------------------------------+----------------------+
| Variable_name                   | Value                |
+---------------------------------+----------------------+
| binlog_cache_size               | 32768                |
| binlog_format                   | STATEMENT            |
| innodb_locks_unsafe_for_binlog  | OFF                  |
| log_bin                         | ON                   |
| log_bin_trust_function_creators | ON                   |
| log_bin_trust_routine_creators  | ON                   |
| max_binlog_cache_size           | 18446744073709551615 |
| max_binlog_size                 | 1073741824           |
| sql_log_bin                     | ON                   |
| sync_binlog                     | 0                    |
+---------------------------------+----------------------+
10 rows in set (0.00 sec)

I want to insert into new data. But display error message.

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

Can you tell me?? How to slave this problem?? Thanks for your help.

BR
Nick
[20 Jan 2009 11:12] Sveta Smirnova
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://dev.mysql.com/doc/ and the instructions on
how to report a bug at http://bugs.mysql.com/how-to-report.php

Please read at http://dev.mysql.com/doc/refman/5.1/en/replication-formats.html about binary log formats introduced in version 5.1 and how it affects applications which use MySQL.