MYSQL事务处理失效原因
mysql有多种存储引擎,有些版本(mysql5.5.5以前默认是MyISAM,mysql5.5.5以后默认是InnoDB)安装时默认的存储引擎是MyISAM,而MyISAM存储引擎是不支持事务处理的,所以才导致了项目中service层的某个方法事务失效,解决的方法就是将需要事务管理的表的存储引擎改为InnoDB,下面将详细说明mysql的几种存储引擎以及如何修改存储引擎:
一、查看mysql数据库所支持的存储引擎
show ENGINES;
也可以使用下面语句来查看mysql默认的存储引擎:
SHOW VARIABLES LIKE 'storage_engine';
二、修改存储引擎
1、修改mysql默认存储引擎为InnoDB,关闭mysql服务:mysql找到mysql安装目录下的my.ini文件:找到default-storage-engine=MYISAM 改为default-storage-engine=INNODB找到skip-innodb 改为#skip-innodb,即注释掉该行,skip-innodb为忽略InnoDB的意思,此处需要开启InnoDB,故需要把它注释启动mysql服务:net start mysql;
2、linux:备份my.cnf
cd /etc
cp my.cnf my.cnf_bak
修改my.cnf
[mysqld] 后加入
vi my.cnf
default-storage-engine=InnoDB
删除/mysql/data目录下的ib_logfile0,ib_logfile1
否则在启动mysql时会遇到下述错误:
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported table type: InnoDB
[ERROR] Aborting
启动mysql
cd /home/administrator/mysql
bin/mysqld_safe -user=root &
登录mysql检查修改是否成功
mysql -h ip -u root -p
mysql>show engines;
MYSQL事务处理失效原因的更多相关文章
- 面试题: MySQL 索引失效的10大原因
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.建表: CREATE TABLE staffs ( id INT PRIMARY KEY AUTO_ ...
- MySQL基准测试(一)--原因,策略,思路
MySQL基准测试(一)--原因,策略,思路 运用benchmark的原因 验证一些你认为的问题,通过基准测试和模拟数据来验证. 解决生产系统的一些异常 测试系统的当前的运行情况,通过历史的基准测试结 ...
- mysql索引总结(4)-MySQL索引失效的几种情况
mysql索引总结(1)-mysql 索引类型以及创建 mysql索引总结(2)-MySQL聚簇索引和非聚簇索引 mysql索引总结(3)-MySQL聚簇索引和非聚簇索引 mysql索引总结(4)-M ...
- 一次MySQL索引失效引发的思考
最近公司做了一个千万数量级的项目,由于要求性能比较高,每一个相对慢的查询都需要优化,项目经理是一个比较有经验的开发人员,基本上遇到问题都会先自行处理:或自己分析原因或网络寻求帮助. 但是项目平稳运行一 ...
- MySQL索引失效的常见场景
当然请记住,explain是一个好习惯! MySQL索引失效的常见场景 在验证下面的场景时,请准备足够多的数据量,因为数据量少时,MySQL的优化器有时会判定全表扫描无伤大雅,就不会命中索引了. 1. ...
- mysql事务处理用法与实例详解
来源:转载 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务.行级锁.并发 3.Berke ...
- mysql事务处理的意义
MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关 1.MyISAM:不支持事务,用于只读程序提高性能 .InnoDB:支持ACID事务.行级锁.并发 .Berkeley DB:支 ...
- oracle 索引失效原因及解决方法
oracle 索引失效原因及解决方法 2010年11月26日 星期五 17:10 一.以下的方法会引起索引失效 1,<>2,单独的>,<,(有时会用到,有时不会)3,like ...
- 清除浮动元素的margin-top失效原因(更改之前的错误)
//样式代码body,div{ margin:; padding:; } .box1{ background:#900; width:200px; height:200px; margin:20px ...
随机推荐
- C++解决case中不能定义局部变量问题
case Operation::DeviceAuthen: { std::string token = root["body"]["token"].asStri ...
- 在SQL注入中利用MySQL隐形的类型转换绕过WAF检测
web应用一般采用基于表单的身份验证方式(页面雏形如下图所示),处理逻辑就是将表单中提交的用户名和密码传递到后台数据库去查询,并根据查询结果判断是否通过身份验证.对于LAMP架构的web应用而言,处理 ...
- pyqt5-是否被编辑
setWindowModified(bool) 被编辑状态,显示*; 没有被编辑,不显示* isWindowModified() 窗口是否是被编辑状态 from ...
- pyqt5-控件的显示与隐藏
只有父控件显示,子控件才能显示 setVisible(bool) 设置控件是否可见 button.setVisible(True) True 可见 setHidden(bool) ...
- 【CentOS】Tomcat的安装
文件上传方式(推荐) # 解压 tar zxvf apache-tomcat-9.0.1.tar.gz # 进入bin目录启动 ./startup.sh # 进入log目录查看日志信息 tail -f ...
- mysql 原理 ~ redo
一 简介:redo log二 文件 ib_logfile0 ib_logfile1 两个redo log 默认为一组 循环覆盖写入三 相关参数 innodb_log_file_size=256 ...
- You Only Look Once: Unified, Real-Time Object Detection(翻译)
0 - 摘要 我们提出了YOLO,一种新的物体检测方法.之前的物体检测工作是通过重新使用分类器来进行检测.相反,我们将对象检测抽象为一个回归问题,描述为以空间分隔的边界框和相关的类别概率.一个简单的神 ...
- Android小知识汇总
1.Android Studio 将module编译打包成aar文件,module依赖的 (例如 compile 'com.zhy:autolayout:1.4.3' )不会被打包进入aar文件,应用 ...
- win10家庭版多用户
1.Windows 找不到gpedit.msc https://jingyan.baidu.com/article/54b6b9c08b08382d593b4747.html 2.win10家庭版 创 ...
- SLAM数据集整理
New College Dataset :: Main / Downloads Autonomous Space Robotics Lab: Devon Island Rover Navigation ...