MySQL中常用的存储引擎之Innodb

Myisam

特点:支持表锁,全文索引

Innodb

特点:支持行(记录)锁,事务(回滚),外键

Memory

特点:内存存储引擎,速度快、数据容易丢失

什么是存储引擎?

答:数据表存储数据的一种格式。

查看当前mysql支持的存储引擎列表:show engines

MySQL中常用的存储引擎之Innodb

innodb存储引擎:

>=5.5 版本中默认的存储引擎,MySql推荐使用的存储引擎。提供事务,行级锁定,外键约束的存储引擎。事务安全型存储引擎,更加注重数据的完整性和安全性。

innodb存储引擎  每个数据表有单独的“结构文件”  *.frm

数据,索引集中存储,默认所有的 innodb表的数据和索引都存储于同一个表空间文件ibdata1中。

MySQL中常用的存储引擎之Innodb

MySQL中常用的存储引擎之Innodb

MySQL中常用的存储引擎之Innodb

但是我们可以通过配置达到每个innodb的表对应一个表空间文件

查看每张表对应的空间文件配置是否开启:show variables like 'innodb_file_per_table%';

MySQL中常用的存储引擎之Innodb

开启该配置:set global innodb_file_per_table=1;

MySQL中常用的存储引擎之Innodb

创建一个innodbd的表进行测试使用:

MySQL中常用的存储引擎之Innodb

MySQL中常用的存储引擎之Innodb

tips:innodb数据表不能直接进行文件的复制/粘贴进行备份还原,可以退出MySQL命令行,在cmd命令行下使用如下指令:

> mysqldump  -uroot -p密码 数据库名字 > 文件地址/文件名称.sql  [备份]

> mysql -uroot  -p密码数据库   <  文件地址/文件名称.sql  [还原]

备份:

MySQL中常用的存储引擎之Innodb

MySQL中常用的存储引擎之Innodb

还原:

MySQL中常用的存储引擎之Innodb

tips:删除数据库时提示的错误是因为将备份的文件test.sql 文件保存在数据库文件夹下面

test目录下存在着MySQL数据库不知道的文件,即MySQL数据库中没有该文件的数据字典信息。

手动删除test目录下的该文件 登录数据库,重新执行drop database操作(此步骤省略)

MySQL中常用的存储引擎之Innodb

MySQL中常用的存储引擎之Innodb