mysql和mysqlinnodb_安装mysql with innodb 支持,支持事务的mysql

本文详细介绍了如何在MySQL 5.3版本中重新编译并配置以支持InnoDB引擎,包括编译参数设置、配置文件修改、数据文件处理及事务测试步骤。重点在于解决InnoDB不支持事务的问题和常见问题解决方法。
摘要由CSDN通过智能技术生成

默认安装的mysql使用的是myisam引擎,是比较高效的引擎,但是最近有些需求需要用到mysql 事务,而myisam是不支持事务的,在网上找了一下,重新编译数据库并做了一些配置。

1.编译

在常用的mysql编译参数里,加上 –with-plugins= innobase ,这个使得mysql自动加上inno引擎

我的全部编译参数是(我用的是mysql 5.3的版本,老版本的inno支持可能不是这样写法,可能是–with-inno

./configure –prefix=/usr/local/mysql –localstatedir=/usr/local/mysql/var/ –with-server-suffix=-enterprise-gpl –without-debug –with-big-tables –with-extra-charsets=latin1,gb2312,big5,utf8,GBK –with-extra-charsets=all –with-pthread –enable-static –enable-thread-safe-client –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –enable-assembler –with-plugins=innobase

make && make install

重启mysql后,进入mysql 输入

show engines;可以看到有无innodb的支持,如果有,就是编译成功了,先关掉mysql,打开/etc/my.cnf编辑(我是用mysql中的huge.cnf为模板,那个模板适合比较大量的数据)

将 配置文件中inno字样的前面的#注释去掉,在mysqld里面加上

default-storage-engine = InnoDB

这样之后创建的表,默认则为inno格式,如果已有的表,要改成inno,用

alter table {table_name} ENGINE=’InnoDB’;

之后重新启动mysql即可,我这里碰到一些问题,重启mysql后一直没有启动innodb的支持,看了下log文件,发现是inno的数据文件大小之类的不符配置,根据出错提示将那些数据文件删掉即可。

测试是否支持事务:

在mysql里,

CREATE TABLE test.user ( id int NOT NULL DEFAULT  0);

begin; insert into test.user values (3);

select * from test.user;

此时应该看到有一条记录

rollback;

select * from test.user

如果此时看到空记录,就对了

觉得文章有用?立即:

和朋友一起 共学习 共进步!

猜您喜欢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值