Mysql中默认自动事务autocommit关闭和开启方式、rollback回滚恢复数据的使用方法
作者:mmseoamin日期:2024-04-29

文章目录

  • autocommit自动提交事物
    • 一、查看autocommit状态
    • 二、修改autocommit 状态的方式
      • 1、第一种方式
      • 2、修改mysql配置文件my.cnf
      • 二、rollback回滚
        • 1、autocommit 开启
        • 1、autocommit 关闭

          autocommit自动提交事物

          MySQL 默认开启事务自动提交模式,每条 SOL 语句都会被当做一个单独的事务自动执行。但有些情况下,我们需要关闭事务自动提交来保证数据的一致性。

          一、查看autocommit状态

          通过命令:SHOW VARIABLES LIKE ‘autocommit’;

          1.OFF:关闭状态

          Mysql中默认自动事务autocommit关闭和开启方式、rollback回滚恢复数据的使用方法,在这里插入图片描述,第1张

          结果显示,autocommit 的值是 OFF,表示系统关闭模式。

          2.ON:开启状态

          Mysql中默认自动事务autocommit关闭和开启方式、rollback回滚恢复数据的使用方法,在这里插入图片描述,第2张

          结果显示,autocommit 的值是 ON,表示系统开启自动提交模式。

          二、修改autocommit 状态的方式

          1、第一种方式

          在 MySQL 中,可以使用 SET autocommit 语句设置事务的自动提交模式,语法格式如下:

          1、SET autocommit = 0|1|ON|OFF;
          

          SET autocommit=1和SET autocommit=ON:表示开启autocommit自动提交事务

          SET autocommit=0和SET autocommit=OFF::表示关闭autocommit自动提交事务

          以上修改autocommit 状态的操作在本次ssh连接会话中有效,新开启的会话中将失效,

          2、修改mysql配置文件my.cnf

          使mysql中的autocommit 自动提交事务永久关闭,可修改mysql配置文件my.cnf,将autocommit=0或者autocommit=OFF添加:

          [mysqld]

          autocommit=OFF

          或者

          [mysqld]

          autocommit=0

          以上两者添加任意一个即可永久关闭mysql数据库默认的事务提交

          然后使用重启命令:service mysqld restart重新启动mysql数据库服务,使用SHOW VARIABLES LIKE 'autocommit';查看autocommit状态即可永久关闭

          二、rollback回滚

          1、autocommit 开启

          autocommit =ON 事务开启

          Mysql中默认自动事务autocommit关闭和开启方式、rollback回滚恢复数据的使用方法,在这里插入图片描述,第3张

          当mysql数据库默认的自动提交事务打开的状态下,对数据库进行操作后使用rollback回滚无法恢复操作前的数据

          1、autocommit 关闭

          Mysql中默认自动事务autocommit关闭和开启方式、rollback回滚恢复数据的使用方法,在这里插入图片描述,第4张

          autocommit =OFF 提交事务被关闭,

          Mysql中默认自动事务autocommit关闭和开启方式、rollback回滚恢复数据的使用方法,在这里插入图片描述,第5张

          自动事务被关闭,mysql数据库操作后使用rollback回滚可以进行恢复