MySQL存储引擎
大约 2 分钟
MySQL存储引擎
mysql的一大优点就是插件式存储引擎
不同存储引擎主要是影响表的结构、数据以及索引的存储方式
show engines; #查看支持的存储引擎


- 这些默认配置都在mysql的配置文件中可以修改
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
查看mysql存储的文件
cd /var/lib
su root
cd mysql
- 如果切换root失败,可以先修改root密码
sudo passwd root
再继续切换

Q:不同存储引擎有什么区别
A:5.5版本前默认的存储引擎是myisam,5.5及只有的版本改为了innodb;不同存储引擎主要是存储方式不一样,一张表需要存储的有表结构、表数据和表索引,myisam的一张表分为了 .frm .MYD .MYI
三个文件,数据和索引是单独存放的;那么对于innodb来说,除了单独存储索引外,它的索引和数据是一起存放的;myisam支持表级锁和全文索引、不支持事务,innodb支持行锁和表索、支持事务、支持外键一致性约束
Q:为什么innodb不加主键会自动生成一个主键,而myisam不会
因为myisam数据和索引是单独存放的,加了主键就存放再.myi文件中,没加就不用存
而innodb索引和数据是存放在一起的,并且数据存放在索引树上,没有索引没法存放数据
了解



