MySQL存储引擎
一、存储引擎的概念
每个数据库都有存储引擎的概念,mysql支持插件式存储引擎,存储引擎用来处理数据的相关CRUD操作
查看当前mysql支持的存储引擎
mysql> show create table a\G
*************************** 1. row ***************************
Table: a
Create Table: CREATE TABLE `a` (
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
1 row in set (0.01 sec)
默认的存储引擎为InnoDB
2、MyISAM存储引擎
MySQL版本之前的默认存储引擎
堆表数据结构
表锁设计
不支持事务
数据容易丢失
索引容易损坏
[root@mysqlmaster01 aaa]# ll
total 20
-rw-r-----. 1 mysql mysql 8556 Nov 23 09:58 a.frm 表结构定义文件
-rw-r-----. 1 mysql mysql 0 Nov 23 09:58 a.MYD 表数据文件
-rw-r-----. 1 mysql mysql 1024 Nov 23 09:58 a.MYI 表索引的文件
优点:把这三个文件拷贝到其他数据库的某个目录,可以直接用select查询出来
更换成innodb引擎后
mysql> alter table a engine=innodb;
Query OK, 0 rows affected (0.20 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> exit
Bye
[root@mysqlmaster01 aaa]# ll
total 44
-rw-r-----. 1 mysql mysql 8556 Nov 23 10:02 a.frm
-rw-r-----. 1 mysql mysql 24576 Nov 23 10:02 a.ibd
CSV存储引擎
不支持特殊字符
[root@mysqlmaster01 mysql_data]# ll mysql/general_log.*
-rw-r-----. 1 mysql mysql 35 Nov 22 15:53 mysql/general_log.CSM
-rw-r-----. 1 mysql mysql 0 Nov 22 15:53 mysql/general_log.CSV
-rw-r-----. 1 mysql mysql 8776 Nov 22 15:53 mysql/general_log.frm