如何检查特定数据库的MySQL引擎类型?

时间:2011-07-26 12:23:54

标签: mysql

如何通过mysql查询检查特定数据库的MySQL引擎类型?

5 个答案:

答案 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_SCHEMAENGINE FROM information_schemaTABLES 分组TABLE_SCHEMAENGINETABLE_SCHEMAENGINE;

订购