如何通过mysql查询检查特定数据库的MySQL引擎类型?
答案 0 :(得分:40)
在MySQL中,数据库没有引擎类型; tables 具有引擎类型。 The Friendly Manual甚至明确指出:
重要的是要记住,您不限于对整个服务器或架构使用相同的存储引擎:您可以为架构中的每个表使用不同的存储引擎。
您可以查询information_schema
数据库(在示例中替换您的数据库名称和表名):
SELECT `ENGINE` FROM `information_schema`.`TABLES`
WHERE `TABLE_SCHEMA`='your_database_name' AND `TABLE_NAME`='your_table_name';
您还可以获取全局环境变量storage_engine
的值 - 它仅在未指定引擎的情况下创建表时用作默认值,它不会以任何其他方式影响服务器:
SHOW GLOBAL VARIABLES LIKE 'storage_engine'
答案 1 :(得分:14)
数据库没有引擎。表有。你可以运行,例如SHOW TABLE STATUS:
SHOW TABLE STATUS FROM mydatabase
可以使用SHOW ENGINES找到可用的引擎。
提示:如果您使用的是官方命令行客户端而非GUI工具,则可能需要使用\G
command(不要与小写\g
混淆):
将当前语句发送到要执行的服务器,并使用垂直格式显示结果。
......这就改变了:
mysql> SHOW TABLE STATUS;
+----------------------------------+--------+---------+------------+------+----------------+-------------+-----------------+-----------
---+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+-----
------------------------------------------------------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_leng
th | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comm
ent |
+----------------------------------+--------+---------+------------+------+----------------+-------------+-----------------+-----------
---+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+-----
------------------------------------------------------+
| canal | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 |
0 | 27262976 | 1 | 2015-04-10 11:07:01 | NULL | NULL | utf8_general_ci | NULL | |
......进入这个:
mysql> SHOW TABLE STATUS\G
*************************** 1. row ***************************
Name: canal
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 0
Avg_row_length: 0
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 27262976
Auto_increment: 1
Create_time: 2015-04-10 11:07:01
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
*************************** 2. row ***************************
Name: cliente
Engine: InnoDB
[…]
答案 2 :(得分:3)
SHOW TABLE STATUS
检索这类内容,请参阅MySQL docs。
答案 3 :(得分:2)
使用此命令:
background-color: rgb(255, 170, 255);
您的默认引擎将显示为支持:默认
答案 4 :(得分:1)
数据库使用的引擎列表:
SELECT TABLE_SCHEMA
,ENGINE
FROM information_schema
。TABLES
分组TABLE_SCHEMA
,ENGINE
按TABLE_SCHEMA
,ENGINE
;