`
pouyang
  • 浏览: 315274 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql 事务机制

阅读更多

mysql事物机制

 

一、启动方式

1、使用 service 启动:service mysqld start

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start

3、使用 safe_mysqld 启动:safe_mysqld&

二、停止

1、使用 service 启动:service mysqld stop

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop

3、mysqladmin shutdown

三、重启

1、使用 service 启动:service mysqld restart

2、使用 mysqld  脚本启动:/etc/inint.d/mysqld restart

四、设置事务提交方式

  set autocommit=0 禁止自动提交

  set autocommit=1 开启自动提交

  show variables like 'autocommit'

 SET GLOBAL init_connect=’SET autocommit=0′;

 

五、mysql事务测试

MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关:

show create table tablename; 可以查看表的存储引擎

alter table tablename type=InnoDB; 更改表的存储引擎

 

InnoDB:不支持事务,用于只读程序提高性能

MyISAM:支持ACID事务、行级锁、并发  

当然还有其他的存储引擎类型,目前的应用中只使用了这两种类型。

 

 

-----------------------------------------------------------------------

场景1:

 

1 tx.begin();    // 启动事务

 

2 insert  table1; // 插入数据到table1,table1 的存储引擎是MyISAM

3 insert  table2; // 插入数据到table2,table2 的存储引擎是InnoDB

 

4 tx.commit(); // 提交事务

 

经测:

1、4还未执行的时候,2就已经入库了,3未入库,4执行后,3入库。

2、2执行了,3异常了,2未回滚。

-----------------------------------------------------------------------

 

-----------------------------------------------------------------------

场景2:

设置事务非自动提交。

 

代码1:

insert table1; //   table1 存储引擎 MyISAM

代码2:

tx.begin();

insert table1; //   table1 存储引擎 MyISAM

tx.commit();

代码2加事务无效果,未执行tx.commit() 就已经入库了

 

table2存储类型 InnoDB;

代码1

insert table2;// 

代码2

tx.begin();

insert table2; //  直接入库,

tx.commit();

代码1直接入库,代码2执行tx.commit()后入库

-----------------------------------------------------------------------

 

-----------------------------------------------------------------------

场景3:

设置自动提交

 

InnoDB存储类型

insert table2; // 直接提交

 

tx.begin();

insert table2; // 待到tx.commit()提交,才入库。

insert table3; // 带到tx.commit()提交,才入库。

tx.commit();

-------------------------------------------------------------------------

可以看出:

存储引擎为MyISAM,加事务不加事务无效果,MyISAM是不支持事务的。

存储引擎为InnoDB,代码没有启动事务,每一条sql语句会启动一个事务,若代码控制了事务,则由代码控制()。

 

存储引擎为InnoDB,设置是自动提交,代码中加入了事务控制,则由事务控制,没有达到自动提交的效果。

tx.begin();

insert;

insert;

insert;

tx.commit();

 

btw:感觉mysql中设置自动提交和不自动提交,没什么意义,也没什么效果。

 

 

 

 

 

分享到:
评论

相关推荐

    MySQL事务机制

    MySQL事务机制,里面有详细介绍,对mysql数据库中的不同隔离级别的描述与实例。

    第10章 MySQL事务机制和JDBC的使用.ppt

    Java Web基础与实例教程的PPT,自己制作的PPT,将近400页,免费分享,童鞋们努力学习吧。

    PHP事务处理实例 mysql事务处理的意义

    mysql事务处理的意义 事务处理机制在程序开发过程中有着非常重要的作用,它可以使整个系统更加安全,例如在银行处理转账业务时,如果A账户中的金额刚被发出,而B账户还没来得及接收就发生停电,这会给银行和个人带来...

    06-VIP-深入理解Mysql事务隔离级别与锁机制.pdf

    深入理解Mysql事务隔离级别与锁机制 Mysql事务隔离级别与锁机制是数据库系统中非常重要的概念,它们都是为了解决多事务并发问题而设计的。下面我们将深入讲解这些机制,让大家彻底理解数据库内部的执行原理。 事务...

    MySQL8.0锁机制和事务

    mysql的锁机制和事务

    MySQL分库分表无限扩容后的瓶颈及解决方案.docx

    此外,文章还将讨论 MySQL 的事务机制。事务是 MySQL 中的一种机制,旨在确保数据库的数据一致性。文章将讨论事务的实现原理和应用场景。 本文将讨论 MySQL 分库分表无限扩容后的瓶颈及解决方案,旨在帮助开发者和...

    Mysql事务以及锁原理讲解.pdf

    Mysql事务以及锁原理讲解,方便大家了解mysql事务和锁的原理

    mysql-事件,触发器,事务-实验七.docx

    mysql事件,触发器,事务

    详解Mysql事务隔离级别与锁机制.doc

    详解Mysql事务隔离级别与锁机制 本篇文章详细介绍了Mysql事务隔离级别与锁机制的概念、原理和应用。事务隔离级别是数据库系统中的一种机制,用于解决多事务并发问题,包括脏写、不可重复读、幻读等问题。锁机制是...

    深入理解Mysql事务隔离级别与锁机制.pdf

    "深入理解Mysql事务隔离级别与锁机制" 事务隔离级别是数据库系统中的一种机制,用于解决多事务并发问题,使得事务之间的执行不受影响。这种机制可以分为四个级别:Read Uncommitted、Read Committed、Repeatable ...

    MySQL 事务(五).pdf

    这份PDF文档《MySQL事务(五).pdf》是关于MySQL数据库事务管理的深入指南,作为系列教程的第五部分,它详尽地介绍了事务处理的概念、原则以及在实际数据库操作中的应用。内容包括: 事务基础:解释事务的概念和...

    项目9--MySQL数据库中的事务机制与锁机制.pptx

    项目9--MySQL数据库中的事务机制与锁机制.pptx

    mysql死锁检测机制初探1

    在 MySQL 中,死锁检测机制是一种重要的机制,用于检测和解决事务之间的死锁问题。在本文中,我们将详细介绍 MySQL 死锁检测机制的原理和实现。 一、死锁的定义和原理 在 MySQL 中,死锁是指两个或两个以上的事务...

    4-7深入理解Mysql事务隔离级别与锁机制.mp4

    4-7深入理解Mysql事务隔离级别与锁机制.mp4

    4-6深入理解Mysql事务隔离级别与锁机制.mp4

    4-6深入理解Mysql事务隔离级别与锁机制.mp4

    【课堂笔记】MySQL事务与锁详解.pdf

    mysql 事物与锁详解,详细描述事物产生的前因后果与解决方案. 锁的力度都有解释。,很好的学习资料

    MySQL事务隔离级别详解.docx

    MySQL事务隔离级别详解 事务概念是数据库并发操作的最小控制单位,它是包含了一组有序的数据库操作命令的序列。事务的特性包括原子性、一致性、隔离性和永久性。原子性是指事务包含的数据库操作命令要么都执行,...

    MySQL事务与锁机制详解

    1.事务 1.1 什么是事务? 事务是逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败。 1.2 哪些引擎支持事务 InnoDB支持事务 1.3 事务的四大特性 原子性(Atomicity):强调事务的不可分割,...

    深入理解MySQL中的事务机制

    MySQL中的InnoDB引擎的表才支持transaction。在一个事务里,如果出现一个数据库操作失败了,事务内的所有操作将被回滚,数据库将会回到事务前的初始状态。有一些不能被回滚的语句:将在本文的最后讨论。 在一个web...

    MySql存储过程与事务处理教学PPT

    (程序员不是数据库管理员他可能不了解很多数据库的机制比如事务,错误回滚等.银行转帐问题可以解释.) 减轻客户端应用程序的负担 (让更多的操作由数据库服务器执行) MySql存储过程与事务处理教学PPT

Global site tag (gtag.js) - Google Analytics