zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    python及pandas,numpy等知识点技巧点学习笔记
    人工智能,大数据,云计算大杂烩
    python开发环境
    机器学习vs深度学习及其知识点
    深入理解SVG坐标体系和transformations- viewport, viewBox,preserveAspectRatio
    军队改革看管理
    d3js path generator vs layouts
    d3js layout 深入理解
    RedisTemplate 事务处理方法 watch multi exec 的使用
    阻止联网
  • 原文地址:https://www.cnblogs.com/zhoucx66/p/9018330.html
Copyright © 2011-2022 走看看