MySQL中的事务日志
2015-11-23 00:00
495 查看
MySQL提供了两种事务型的存储引擎:InnoDB和NDB Cluster。另外一些第三方的存储引擎也支持事务,比较著名的包括XtraDB和PBXT。
自动提交(AUTOCOMMIT)
MySQL默认采用了自动提交(AUTOCOMMIT)模式。也就是说,如果不是显示地开始一个事务,则每个查询都被当作一个事务执行提交操作。
在当前连接中,可以通过设置AUTOCOMMIT变量来启用或者禁用自动提交模式:
mysql > SHOW VARIABLES LIKE 'AUTOCOMMIT';//查看当前提交模式
mysql > SET AUTOCOMMIT =1; //启用自动提交模式 1 或者on表示启用,0 或者off表示禁用。当AUTOCOMMIT=0时,所有的查询都是在一个事务中。直到显式的执行COMMIT提交或者ROLLBACK回滚,该事务结束,同时又开始了另一新事务。修改AUTOCOMMIT对非事务型的表,比如MyISAM或者内存表,不会有任何影响。对于这类表来说,没有COMMIT和ROLLBACK的概念,也可以说是相当于一直处于AUTOCOMMIT启用的模式。
会强制执行COMMIT提交当前的活动事务的情况:①导致大量数据改变的操作--ALERT TABLE ,②LOCK TABLES
MYSQL服务器层不管理事务,事务是由下层的存储引擎实现的。所以在同一个事务中,使用多种存储引擎是不可靠的。
自动提交(AUTOCOMMIT)
MySQL默认采用了自动提交(AUTOCOMMIT)模式。也就是说,如果不是显示地开始一个事务,则每个查询都被当作一个事务执行提交操作。
在当前连接中,可以通过设置AUTOCOMMIT变量来启用或者禁用自动提交模式:
mysql > SHOW VARIABLES LIKE 'AUTOCOMMIT';//查看当前提交模式
mysql > SET AUTOCOMMIT =1; //启用自动提交模式 1 或者on表示启用,0 或者off表示禁用。当AUTOCOMMIT=0时,所有的查询都是在一个事务中。直到显式的执行COMMIT提交或者ROLLBACK回滚,该事务结束,同时又开始了另一新事务。修改AUTOCOMMIT对非事务型的表,比如MyISAM或者内存表,不会有任何影响。对于这类表来说,没有COMMIT和ROLLBACK的概念,也可以说是相当于一直处于AUTOCOMMIT启用的模式。
会强制执行COMMIT提交当前的活动事务的情况:①导致大量数据改变的操作--ALERT TABLE ,②LOCK TABLES
MYSQL服务器层不管理事务,事务是由下层的存储引擎实现的。所以在同一个事务中,使用多种存储引擎是不可靠的。
相关文章推荐
- windows7安装mysql5.7.9(64位)报错
- mysql 远程用户访问
- mysql 常见问题:ERROR 2003 (HY000) Can't connect to MySQL server on 'localhost' (10061)
- nodejs连接MySQL,做简单的CRUD
- win8下面卸载MYSQL数据库
- 6.mysql学习笔记:myql的复制拓扑
- MySQL日志——删除二进制日志
- MySQL日志——使用二进制日志恢复数据介绍
- Mysql 操作
- Mysql-Proxy实现mysql读写分离、负载均衡 (转)
- 安装MySQL for Windows 数据库
- MySQL之truncate表后恢复思路整理(前提是有备份且开启binlog)
- mysql数据库 SQL查询语句优化和一些注意
- 修改mysql 提示符
- zabbix 的报错sock报错
- 初学MySQL
- mysql 配置环境变量的方法及作用
- mysql性能优化学习笔记(6)数据库配置优化&硬件优化
- mysql性能优化学习笔记(5)数据库结构优化
- mysql性能优化学习笔记(4)索引的优化