InnoDB 给 MySQL
提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash
recovery capabilities)的事务安全(transaction-safe
(
de>ACID
de> compliant))型表。InnoDB
提供了行锁(locking on row level),提供与 Oracle
类型一致的不加锁读取(non-locking read in
de>SELECT
de>s)。这些特性均提高了多用户并发操作的性能表现。在InnoDB表中不需要扩大锁定(lock
escalation),因为 InnoDB 的列锁定(row level
locks)适宜非常小的空间。InnoDB 是 MySQL
上第一个提供外键约束(
de>FOREIGN KEY
de>
constraints)的表引擎。
1.
建立InnoDB数据库:
运行环境:RHEL4U5 +
mysql5.0
默认情况下mysql自动安装InnoDB数据引擎,InnoDB的数据库文件和日志文件在默认的数据库数据库目录(/var/lib/mysql
或者/usr/local/mysql/var),现在由于我们要重新建立InnoDB数据库,所以将原来的InnoDB数据库备份好后,删除即可,建立InnoDB数据库的操作步骤:
默认的数据库数据目录:/var/lib/mysql
1) shell> service mysqld
stop
# 停止mysql进程
2) shell>
mv
/var/lib/mysql/ib*
/var/lib/mysql/InnoDB-old #
备份好原来的InnoDB的数据库文件
3)
shell> mkdir
/var/lib/mysql/InnoDB
#建立存放新InnoDB数据库文件的目录,默认不自动创建目录
4)
shell>
vi
/etc/my.cnf
#编辑InnoDB数据库的相关的配置选项
[mysqld]
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir =
/var/lib/mysql/InnoDB/ #innodb数据库数据文件目录
innodb_data_file_path =
ibdata2:100M:autoextend:max:2000M #数据文件名称及大小
innodb_log_group_home_dir = /var/lib/mysql/InnoDB/
innodb_log_arch_dir = /var/lib/mysql/InnoDB/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size =
16M
#缓冲池的大小,一般设置为主存的50%-80%
innodb_additional_mem_pool_size =
2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size =
5M
#日志文件的大小,一般设置为主存的25%
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit
=
1
#事务
innodb_lock_wait_timeout = 50
5)
shell> chown mysql:mysql
/var/lib/mysql/InnoDB/
#设置InnoDB数据库目录的权限,否则无法启动mysql
6)
shell> service mysqld
start
# 启动mysqld进程
这时在/var/lib/mysql/InnoDB
目录中应该可以看到新生成的InnoDB文件,那么InnoDB数据库就生成了。
2.
使用InnoDB数据库:
1)在配置文件中的[mysqld]字段添加
default-storage-engine=INNODB
,将默认的数据库引擎修改为InnoDB
2}
在创建表的时候,手动指定表的类型:
CREATE TABLE mytable (id int, title char(20)) ENGINE =
INNODB
注意:修改mysql配置文件需要重启启动mysqld进程
分享到:
相关推荐
2. **数据库设计**:DBT3的表结构通常反映了真实世界业务场景,学习这些表的设计可以帮助你理解如何根据需求建立合理的数据库架构。 3. **索引**:数据库性能优化的关键在于索引。分析DBT3中的查询,可以学习到何时...
MySQL链接数据库jar包是Java应用程序与MySQL数据库进行交互时必不可少的组件。这两个jar包,mysql-connector-8.0.11和mysql-connector-java-5.1.13-bin,都是MySQL官方提供的驱动程序,用于实现Java应用程序的JDBC...
在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等,.frm文件跟数据库存储引擎无关,也就是任何存储引擎的...
数据库采用了InnoDB存储引擎,这是MySQL中的一个事务安全引擎,支持行级锁定,从而提高了并发处理能力,适用于高流量、高并发的场景。 数据库的核心功能在于提供中文字符到拼音的映射。全拼是指将每个汉字转换为其...
了解和正确配置这些参数,结合SQL查询优化,可以显著提升MySQL-InnoDB数据库的性能和稳定性,更好地满足高并发、大数据量的应用场景。在实际应用中,还需要根据具体的工作负载和硬件环境进行调整,确保数据库系统的...
MySQL数据库是一种广泛使用的开源关系型数据库管理系统,其原理和设计方法是数据库管理员和开发者必须掌握的基础知识。本文将深入探讨MySQL的逻辑架构、并发控制、事务处理等方面。 首先,MySQL的逻辑架构分为三层...
SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库,而且它本身是完全免费的!!功能: 1、快速备份和恢复数据; 2、以GRID / TEXT 格式显示结果; 3、支持...
MySQL数据库是世界上最流行的开源关系型数据库管理系统之一,其工作流程涉及多个步骤,这些步骤在处理SQL语句时至关重要。以下是对这些步骤的详细说明: 首先,客户端通过连接器与MySQL服务器建立连接。连接器负责...
InnoDB 是 MySQL 的默认存储引擎,因其提供事务处理、行级锁定和崩溃恢复等功能,相比 MyISAM 更适合处理大型数据库和高并发场景。 优化数据库结构是提高性能的基础。设计合理的数据库模式,如将相关数据放在一起,...
### MySQL核心Innodb存储引擎浅析—事务系统 #### 存储引擎介绍 在MySQL中,存储引擎是处理表的存储方式的核心组件之一。不同的存储引擎提供了不同的特性,如事务支持、锁定粒度等。其中,MyISAM和InnoDB是最常用...
MySQL数据库存储引擎 MySQL数据库存储引擎是MySQL数据库管理系统中的一种机制,用于存储和管理数据库中的数据。MySQL提供了多种存储引擎,每种存储引擎都有其特点和应用场景。 1. InnoDB存储引擎 InnoDB存储引擎...
完全使用MySQL C APIs程序接口。 以直观的表格界面建立或编辑数据表。 以直观的表格界面编辑数据。 进行索引管理。 创建或删除数据库。 操纵数据库的各种权限:库、表、字段。 编辑BLOB类型的字段,支持Bitmap/GIF/...
MySQL数据库的InnoDB引擎主从复制是一个常见的高可用性和数据冗余策略,它允许数据在多个服务器之间异步同步,确保即使主服务器故障,从服务器也能接管服务,保证业务连续性。以下是对主从复制的一些关键知识点的...
开发者可以使用这些信息来建立与MySQL服务器的连接。 对于Java开发者来说,"mysql-connector-java-5.1.6-bin.jar"是MySQL的Java驱动程序,它允许Java应用程序通过JDBC(Java Database Connectivity)接口与MySQL...
InnoDB是事务型数据库的首选引擎,为MySQL提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎,其它存储引擎都是非事务安全表,支持行锁定和外键,MySQL5.5以后默认使用InnoDB存储引擎。 ;2.MyISAM
链接MySQL通常指的是通过编程语言或者客户端工具与MySQL服务器建立连接。例如,使用Java的JDBC驱动,Python的pymysql库,或者命令行工具mysql。连接过程涉及设置主机名、端口号、用户名、密码等参数。在实际应用中,...