跳至主要內容

MySQL存储引擎

张威大约 2 分钟mysqlmysql存储引擎

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索引和数据是存放在一起的,并且数据存放在索引树上,没有索引没法存放数据

了解

image-20240417192441961
image-20240417192441961