myslq建立InnoDB数据库

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进程

你可能感兴趣的:(InnoDB)