转:http://www.java-zone.org/?p=1102
今天遇到一个Spring整合Hibernate框架使用MySQL数据库事务无效的问题,尝试使用了多种事务配置的方法,事务仍然无效。几经转折在网上查阅资料,终于弄明白了,原来不是Spring配置问题,问题出在数据库。MySQL建表的时候没有选择引擎,而MySQL默认的是MyISam,MyISam是没有事务的,后来手动修改为innerDB,一切搞定。
转:http://blog.hexu.org/archives/379.shtml
修改mysql引擎,打开
数据比较少使用Myisam引擎还是比较快的,随着数据量的增加,就需要做一些优化,在某种情况下可能要把Myisam 转为 Innodb.
我的数据不大,主要是因为要使用事务所以只好把Myisam table 转为Innodb table 。
中间转时遇到一些问题,在此做个笔记。。。
相支持Innodb的前提:编译Mysql时一定要加–with-innodb
/etc/my.cnf 中 有一些Innodb 的配置:(windows下即my.ini)
#注意这一项,如果想使用Innodb把 ‘skip-innodb ’ 注释掉即可
skip-innodb
innodb_data_home_dir = /home/mysql/mysqldata/
innodb_log_group_home_dir = /home/mysql/mysqldata/
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 512M
innodb_data_file_path = ibdata1:128M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 8M
innodb_log_file_size = 128M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 50
保存重启Mysql
# /etc/init.d/mysqld restart
如果之前没有用过Innodb的话,应该可以正常启动。
如果不能正常启动,可能提示:
ERROR 1286 (42000): Unknown table engine ‘InnoDB’
检查你的数据文件目录(/home/mysql/mysqldata/)是否有下面文件:
ibdata1
ib_logfile0
ib_logfile1
ib_logfile2
如果有删除之。
再启动即可。
分享到:
相关推荐
### MySQL支持事务配置及启用InnoDB引擎详解 #### 一、引言 MySQL是一种广泛使用的开源关系型数据库管理系统,以其高性能、稳定性和易用性而闻名。其中,InnoDB存储引擎因其支持事务处理、行级锁定和外键等功能,...
其中,InnoDB作为MySQL中最常用的存储引擎之一,提供了众多高级特性,如事务支持、行级锁定以及外键约束等。本文将详细介绍如何在MySQL中启用InnoDB存储引擎,并对比分析InnoDB与其他存储引擎(如MyISAM)之间的主要...
- **InnoDB存储引擎**:这是MySQL中最常用的存储引擎之一,支持事务处理、行级锁定和外键约束等功能。 - **表空间类型**:InnoDB支持多种类型的表空间,包括共享表空间、独立表空间和临时表空间等。 - **表空间管理*...
总结来说,当遇到MySQL启动时InnoDB引擎被禁用的问题时,应检查并修改***f配置文件中的相关设置,并重启MySQL服务以使更改生效。这一过程涉及到对配置文件的基本编辑操作和对MySQL服务的基本管理技能,是数据库管理...
打开配置文件后,根据你的MySQL版本添加相应的配置项来禁用InnoDB引擎: - 对于MySQL 5.5,需要添加以下字段: ```bash default-storage-engine=MyISAM loose-skip-innodb loose-innodb-trx=0 loose-innodb-locks=0...
因此,为了支持事务处理,推荐使用InnoDB引擎。 ##### 1. 修改my.ini文件以启用InnoDB - **添加配置**: - 在`[mysqld]`段落中添加以下内容: ```ini default-storage-engine=INNODB innodb_data_home_dir=E:/...
MySQL的InnoDB存储引擎是目前使用最为广泛的事务处理引擎之一,它提供了行级锁定、外键支持、崩溃修复能力以及多版本并发控制等功能。InnoDB存储引擎的底层存储架构设计得非常精细,能够有效地支持大规模的数据存储...
针对这类环境,配置文件my.ini的优化尤其重要,因为合适的设置可以最大化利用资源,特别是对于InnoDB存储引擎,它在处理复杂的查询时需要高效的数据管理和内存使用策略。以下是针对这个场景的详细配置方案: 首先,...
实验1-16:InnoDB的I/O相关配置,根据公式:事务日志的总大小=Innodb_log_files_size*Innodb_log_files_in_group来设置64M大小的事务日志缓冲区,并设置在每次事务提交执行log写入cache,并flush到磁盘。 * InnoDB...
相比之下,InnoDB引擎提供了事务处理、行级锁定以及外键支持,这些特性使得InnoDB更适合于处理大量并发操作和需要数据完整性的应用程序,如电子商务、银行系统等。InnoDB还支持ACID(原子性、一致性、隔离性、持久性...
MySQL 5.5 版本中的 InnoDB 存储引擎是数据库系统中广泛使用的引擎,以其事务处理能力、行级锁定以及对ACID(原子性、一致性、隔离性、持久性)原则的支持而受到青睐。在配置和优化 InnoDB 存储引擎时,主要关注以下...
然而,当你尝试执行一个依赖于InnoDB存储引擎的SQL文件时,如果系统报出“Error: Unknown storage engine 'InnoDB'”的错误,这意味着MySQL服务器无法识别或不支持InnoDB引擎。这通常是由于MySQL配置不当或InnoDB...
MySQL配置文件解析主要涉及到MySQL服务器的参数调整,这些参数直接影响数据库的性能和稳定性。配置文件通常命名为`my.cnf`或`my.ini`,在不同的操作系统路径可能不同。以下是几个关键参数的解释: 1. `port`:指定...
# 设置 MySQL 数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错 # datadir=C:\\web\\sqldata # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为 8 比特编码的 ...
然而,有时在使用MySQL时,用户可能会遇到"The InnoDB feature is disabled"的错误提示,这意味着InnoDB引擎没有启用或者配置不当。本篇文章将详细介绍如何解决这个问题,以及开启InnoDB引擎的基本步骤。 1. 问题...
然而,有时在运行MySQL时可能会遇到“INNODB feature is disabled”的错误提示,这表明InnoDB引擎未启用或配置不当。以下是对这个问题的详细分析和解决步骤: 首先,理解错误提示的含义:“The ‘InnoDB’ feature ...
综上所述,通过对`my.cnf`配置文件中各项参数的合理设置和优化,可以显著提升MySQL服务器的性能表现和稳定性,进而更好地支持业务发展。在具体实践中,还需根据实际应用场景进行灵活调整,确保配置的最优化。
# MySQL每打开一个表,都会读入一些数据到table_open_cache缓存中,当MySQL在这个缓存中找不到相应信息时,才会去磁盘上读取。默认值64 # 假定系统有200个并发连接,则需将此参数设置为200*N(N为每个连接所需的文件...
- `table-type="InnoDB"`:选择合适的存储引擎,InnoDB支持事务和外键约束。 - `character-set="utf8"`和`collate="utf8_general_ci"`:设置字符集和排序规则。 ### 配置其他参数 - `check-on-start`、`add-missing...