MySQL查看存储引擎(附带实例)
可以使用如下 SQL 语句查看 MySQL 8.0 支持哪些存储引擎:
此外,MySQL 8.0 还支持 NDB 存储引擎,它主要用于 MySQL 集群,大家知道即可。
上述结果中各个参数的含义如下表所示:
也可以使用如下 SQL 语句查看系统默认的存储引擎:
从结果中可以看到,系统默认的存储引擎是 InnoDB。如果在创建表的语句中没有显式指定表的存储引擎,就会默认使用 InnoDB 作为表的存储引擎。想要改变表的默认存储引擎,可以使用如下 SQL 语句:
或者修改 my.cnf 配置文件,如下所示,之后重启 MySQL 服务:
mysql> SHOW ENGINES\G;
*************************** 1. row ***************************
Engine: InnoDB
Support: DEFAULT
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
*************************** 2. row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 3. row ***************************
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 4. row ***************************
Engine: BLACKHOLE
Support: YES
Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
XA: NO
Savepoints: NO
*************************** 5. row ***************************
Engine: MyISAM
Support: YES
Comment: MyISAM storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 6. row ***************************
Engine: CSV
Support: YES
Comment: CSV storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 7. row ***************************
Engine: ARCHIVE
Support: YES
Comment: Archive storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 8. row ***************************
Engine: PERFORMANCE_SCHEMA
Support: YES
Comment: Performance Schema
Transactions: NO
XA: NO
Savepoints: NO
*************************** 9. row ***************************
Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
Transactions: NULL
XA: NULL
Savepoints: NULL
结果显示,MySQL 8.0 支持 9 种存储引擎,分别是 InnoDB、MRG_MYISAM、MEMORY、BLACKHOLE、MyISAM、CSV、ARCHIVE、PERFORMANCE_SCHEMA 和 FEDERATED。此外,MySQL 8.0 还支持 NDB 存储引擎,它主要用于 MySQL 集群,大家知道即可。
上述结果中各个参数的含义如下表所示:
| 字段名 | 含义说明 |
|---|---|
| Engine | 存储引擎的名称。 |
| Support | MySQL 是否支持该存储引擎:YES=支持,NO=不支持,DEFAULT=系统默认。 |
| Comment | 对该存储引擎的描述。 |
| Transactions | 是否支持事务:YES=支持,NO=不支持。 |
| XA | 是否支持 XA 规范(分布式事务):YES=符合,NO=不符合。 |
| Savepoints | 是否支持事务保存点(部分事务回滚):YES=支持,NO=不支持。 |
设置系统默认的存储引擎
可以使用如下 SQL 语句查看系统默认的存储引擎:mysql> SHOW VARIABLES LIKE '%default_storage_engine'; +------------------------+--------+ | Variable_name | Value | +------------------------+--------+ | default_storage_engine | InnoDB | +------------------------+--------+ 1 row in set (0.00 sec)
也可以使用如下 SQL 语句查看系统默认的存储引擎:
mysql> SELECT @@default_storage_engine; +--------------------------+ | @@default_storage_engine | +--------------------------+ | InnoDB | +--------------------------+ 1 row in set (0.00 sec)
从结果中可以看到,系统默认的存储引擎是 InnoDB。如果在创建表的语句中没有显式指定表的存储引擎,就会默认使用 InnoDB 作为表的存储引擎。想要改变表的默认存储引擎,可以使用如下 SQL 语句:
mysql> SET default_storage_engine = MyISAM;
或者修改 my.cnf 配置文件,如下所示,之后重启 MySQL 服务:
default-storage-engine = MyISAM
ICP备案:
公安联网备案: