2012-05-09 14 views

Respuesta

9

Si es necesario determinar si es o no InnoDB se habilita mediante la consulta de la base de datos, debe utilizar las tablas INFORMATION.

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

Lo cual, si InnoDB está habilitado y es la base de datos por defecto, da un resultado de

+---------+ 
| SUPPORT | 
+---------+ 
| DEFAULT | 
+---------+ 

Si InnoDB está disponible, pero no el motor por defecto, el resultado será YES. Si no está disponible, el resultado obviamente será NO.

Consulte http://dev.mysql.com/doc/refman/5.5/en/engines-table.html y http://dev.mysql.com/doc/refman/5.5/en/information-schema.html de referencia.

Cuando InnoDB está disponible, las tablas INFORMATION_SCHEMA que mencionó en un comentario también están disponibles.

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       | 
+----------------------------------------+ 
7

Tipo:

SHOW ENGINES

en un símbolo del mysql.

InnoDB cómo hasta este modo:

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

Quiero saber si innodb_plugin está instalado o no, innodb_plugin dará la información sobre las transacciones en las tablas de esquema de información. http://dev.mysql.com/doc/innodb-plugin/1.0/en/innodb-information-schema-transactions.html – Sandy

0

"show plugins" está disponible, pero mi servidor está utilizando el motor InnoDB incorporado y que todavía no está claro si se trata de la versión incorporada o plugin.

Parece que la mejor manera de comprobar es mirar el archivo my.cnf. De acuerdo con la documentación de instalación del plugin, usted tiene que ignorar específicamente la versión incorporada y activar el plugin:

[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 

(El valor de la opción plug-in de carga como se muestra aquí está formateado en múltiples líneas para fines de visualización, pero debe ser escrito en my.cnf usando una sola línea sin espacios en el valor de la opción. en Windows, sustituir .dll para cada instancia de la extensión .so.)

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

el plug-in sustituye a la incorporada en InnoDB a partir de v5.5: http://dev.mysql.com/doc/refman/5.5/en/innodb-installation.html

Cuestiones relacionadas