确定InnoDB插件是否安装在MySQL中

时间:2012-05-09 13:23:25

标签: mysql

我们如何检查在MySQL中是否安装了Innodb插件? 是否有任何变量可以检查Innodb插件是否安装?

4 个答案:

答案 0 :(得分:11)

如果您需要通过查询数据库来确定是否启用了InnoDB,则应使用INFORMATION_SCHEMA表。

SELECT SUPPORT FROM INFORMATION_SCHEMA.ENGINES WHERE ENGINE = 'InnoDB';

如果启用了InnoDB并且是默认数据库,则会得到

的结果
+---------+
| SUPPORT |
+---------+
| DEFAULT |
+---------+

如果InnoDB可用,但不是默认引擎,则结果为YES。如果它不可用,结果显然是NO

请参阅http://dev.mysql.com/doc/refman/5.5/en/engines-table.htmlhttp://dev.mysql.com/doc/refman/5.5/en/information-schema.html以供参考。

当InnoDB可用时,您在评论中提到的INFORMATION_SCHEMA表也可用。

SHOW TABLES FROM INFORMATION_SCHEMA LIKE 'INNODB%';

+----------------------------------------+
| Tables_in_INFORMATION_SCHEMA (INNODB%) |
+----------------------------------------+
| INNODB_CMP_RESET                       |
| INNODB_TRX                             |
| INNODB_CMPMEM_RESET                    |
| INNODB_LOCK_WAITS                      |
| INNODB_CMPMEM                          |
| INNODB_CMP                             |
| INNODB_LOCKS                           |
+----------------------------------------+

答案 1 :(得分:7)

类型:

SHOW ENGINES

在mysql提示符下。

Innodb会如此:

Engine: InnoDB
Support: YES
Comment: Supports transactions, row-level locking, and foreign keys

答案 2 :(得分:2)

答案 3 :(得分:0)

" show plugins"可用,但我的服务器正在使用内置的InnoDB引擎,它仍然不清楚它是内置版还是插件版。

检查最好的方法是查看my.cnf文件。根据插件的安装文档,您必须专门忽略内置版本并启用插件:

[mysqld] 
ignore-builtin-innodb 
plugin-load=innodb=ha_innodb_plugin.so 
;innodb_trx=ha_innodb_plugin.so   
;innodb_locks=ha_innodb_plugin.so  
;innodb_lock_waits=ha_innodb_plugin.so  
;innodb_cmp=ha_innodb_plugin.so  
;innodb_cmp_reset=ha_innodb_plugin.so  
;innodb_cmpmem=ha_innodb_plugin.so  
;innodb_cmpmem_reset=ha_innodb_plugin.so

(此处显示的插件加载选项值在多行上格式化以用于显示目的,但应使用单行在my.cnf中编写,在选项值中不含空格。在Windows上,用.dll代替.so扩展名的每个实例。)

请参阅http://dev.mysql.com/doc/refman/5.1/en/replacing-builtin-innodb.html

从v5.5开始,该插件取代了内置的InnoDB:http://dev.mysql.com/doc/refman/5.5/en/innodb-installation.html