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 ...
随机推荐
- Information Retrieval 倒排索引 学习笔记
一,问题描述 在Shakespeare文集(有很多文档Document)中,寻找哪个文档包含了单词“Brutus”和"Caesar",且不包含"Calpurnia&quo ...
- HTML 5 Web 本地存储
1.使用localStorage 2.使用sessionStorage 两者区别1关闭网页不失效,2失效.用法示例 localStorage.setItem(“key”,“value”)//存储 lo ...
- lombok注解介绍
lombok注解介绍 lombok注解文档lombok官网下载 lombok是一个可以帮助我们简化java代码编写的工具类,尤其是简化javabean的编写,即通过采用注解的方式,消除代码中的构造方法 ...
- Linux ISO镜像挂载
挂载本地镜像? 镜像光盘的格式 iso9660 mount -t iso9660 -o,loop /data/centos.iso /iso 查看挂载磁盘 df -h cat /proc/mounts ...
- [SYSS-2018-033]: Fujitsu Wireless Keyboard Set LX901 - Keystroke Injection Vulnerability
风险简介: [SYSS-2018-033]:富士通无线键盘组LX901 -击键注入漏洞 风险报告ID: sys - 2018 - 033 产品:无线键盘套件LX901 制造商:富士通 受影响版本:型号 ...
- Python中文显示问题&数据库连接传参
1.Python连接mysql数据库,并且传递参数 con = MySQLdb.connect(host='***', user='root', passwd='***', db='***', por ...
- django设置并获取cookie/session,文件上传,ajax接收文件,post/get请求及跨域请求等的方法
django设置并获取cookie/session,文件上传,ajax接收文件等的方法: views.py文件: from django.shortcuts import render,HttpRes ...
- SpringBoot - 资源文件配置读取
Examp1:读取核心配置文件信息application.properties的内容 方法一:使用@Value方式(常用) 1.application.properties中自定义参数 test.ms ...
- HashSet去除List重复元素
使用Hashset 去重复 例一,List<String> 去重复 public class main { public static void main(String[] args) { ...
- 一个spring3.2的项目 从jdk1.7放到1.8的环境中编译,打开网页异常:spring jar包版本升级经历
背景:一个历史项目用的是 spring3.2 的版本,在jdk1.7中运行没有问题,但是如果在jdk1.8中运行就会报错 ---浏览器中显示: HTTP Status 500 - Servlet.in ...