码迷,mamicode.com
首页 > 数据库 > 详细

修改mysql 表引擎类型错误

时间:2016-01-31 13:45:18      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:binlog mysql

mysql引擎默认类型为MyISAM,

mysql>show engines;

事务隔离机制为:READ-COMMITTED(/etc/my.cnf查看)

默认建表如果不指定引擎类型,自动为MyISAM。此时想更改表为InnoDB类型。用户登陆到mysql客户端执行:
mysql>alter table ATT engine = InnoDB;

则报错:
ERROR 1598 (HY000): Binary logging not possible. Message: Transaction level ‘READ-COMMITTED‘ in InnoDB is not safe for binlog mode ‘STATEMENT‘。

解决办法:
运行该命令即可:SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;

上面方法治标不治本!
这种方式强行修改了表的引擎类型,会导致表插入数据失败,依然提示错误:
Binary logging not possible. Message: Transaction level ‘READ-COMMITTED‘ in InnoDB is not safe for binlog mode ‘STATEMENT‘.
解决办法:/etc/my.cnf添加参数:
binlog_format = ROW
innodb_locks_unsafe_for_binlog = 1


修改mysql 表引擎类型错误

标签:binlog mysql

原文地址:http://liuk1303.blog.51cto.com/10449284/1740081

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!