MySQL中常用的存储引擎之Innodb
①Myisam
特点:支持表锁,全文索引
② Innodb
特点:支持行(记录)锁,事务(回滚),外键
③ Memory
特点:内存存储引擎,速度快、数据容易丢失
什么是存储引擎?
答:数据表存储数据的一种格式。
查看当前mysql支持的存储引擎列表:show engines
innodb存储引擎:
>=5.5 版本中默认的存储引擎,MySql推荐使用的存储引擎。提供事务,行级锁定,外键约束的存储引擎。事务安全型存储引擎,更加注重数据的完整性和安全性。
innodb存储引擎 每个数据表有单独的“结构文件” *.frm
数据,索引集中存储,默认所有的 innodb表的数据和索引都存储于同一个表空间文件中ibdata1中。
但是我们可以通过配置达到每个innodb的表对应一个表空间文件
查看每张表对应的空间文件配置是否开启:show variables like 'innodb_file_per_table%';
开启该配置:set global innodb_file_per_table=1;
tips:innodb数据表不能直接进行文件的复制/粘贴进行备份还原,可以退出MySQL命令行,在cmd命令行下使用如下指令:
> mysqldump -uroot -p密码 数据库名字 > 文件地址/文件名称.sql [备份]
> mysql -uroot -p密码数据库 < 文件地址/文件名称.sql [还原]
备份:
还原:
tips:删除数据库时提示的错误是因为将备份的文件test.sql 文件保存在数据库文件夹下面
test目录下存在着MySQL数据库不知道的文件,即MySQL数据库中没有该文件的数据字典信息。
手动删除test目录下的该文件
登录数据库,重新执行drop database操作(此步骤省略)