Este artículo es una introducción al trabajo con motores de base de datos en MySQL.
Para seguir algunos de los procedimientos de este artículo, debe tener acceso de root al servidor.Acerca de los motores de base de datos MySQL
Los motores de base de datos proporcionan la funcionalidad subyacente para que MySQL trabaje con datos y los procese.
Los dos motores de base de datos MySQL más comunes y populares son MyISAM y InnoDB . MyISAM es el motor predeterminado de MySQL para versiones anteriores a la 5.5.5 y funciona bien en la mayoría de los escenarios. Sin embargo, según sus necesidades, hay situaciones en las que otro motor de base de datos, como InnoDB, puede ser la mejor opción. Por ejemplo, InnoDB admite transacciones, mientras que MyISAM no. InnoDB también brinda soporte para claves externas, mientras que MyISAM no lo hace.
Si tiene acceso de root a su servidor, tiene control total sobre cómo y cuándo MySQL usa los diversos motores de base de datos. Puede cambiar el motor de base de datos predeterminado, cambiar el motor de base de datos de una tabla específica y más.
Este artículo asume que ya sabe cómo acceder a MySQL desde la línea de comandos usando mysql programa. Si no sabe cómo hacerlo, lea primero este artículo.Determinación del motor de base de datos predeterminado
Para determinar el motor de base de datos predeterminado para su instalación, escriba el siguiente comando en mysql> aviso:
SHOW ENGINES;
Aparece una lista de motores admitidos, junto con una breve descripción y las funciones admitidas para cada motor. El motor de base de datos predeterminado está marcado como DEFAULT en el Soporte columna.
Cambiando el motor de base de datos predeterminado
Puede cambiar el motor de base de datos predeterminado para su instalación de MySQL. Después de hacer esto, todas las tablas nuevas que cree utilizarán el nuevo motor de base de datos (a menos que establezca explícitamente el motor durante la creación de la tabla).
Para cambiar el motor de base de datos predeterminado, siga estos pasos:
- Use su editor de texto preferido para abrir my.cnf archivo en su servidor. La ubicación de my.cnf archivo depende de su distribución de Linux:
- En CentOS y Fedora, my.cnf El archivo se encuentra en /etc directorio.
- En Debian y Ubuntu, my.cnf El archivo se encuentra en /etc/mysql directorio.
- En my.cnf archivo, busque el [mysqld] sección.
-
Agregue o modifique la siguiente línea en [mysqld] sección. Reemplazar MOTOR con el nombre del motor que desea utilizar por defecto:
default-storage-engine=ENGINE
Si está habilitando el motor de base de datos InnoDB, dependiendo de su distribución de Linux, es posible que deba deshabilitar la siguiente línea en my.cnf archivo:
skip-innodb
Para hacer esto, simplemente agregue un signo de libra (# ) al principio de la línea, de la siguiente manera:
#skip-innodb
- Guarde los cambios en my.cnf y luego salga del editor de texto.
-
Reinicie el servidor MySQL usando el comando apropiado para su distribución de Linux:
- Para CentOS y Fedora, escriba:
service mysqld restart
-
Para Debian y Ubuntu, escriba:
service mysql restart
- Para CentOS y Fedora, escriba:
- Para confirmar el nuevo motor de base de datos predeterminado, use MOSTRAR MOTORES instrucción SQL como se describe en la sección Determinación del motor de base de datos predeterminado.
Determinar el motor de base de datos actual de una tabla
Para determinar qué motor está usando actualmente una tabla de base de datos, escriba el siguiente comando en mysql> oportuno. Reemplazar base de datos con el nombre de la base de datos que desea consultar:
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'database';
Este comando muestra una lista de todas las tablas de la base de datos, junto con el motor que utiliza cada tabla.
Cambiar el motor de base de datos de una tabla
Puede cambiar el motor de base de datos para una tabla que ya existe. Por ejemplo, la siguiente instrucción SQL muestra cómo modificar una tabla llamada myTable para usar el motor InnoDB:
ALTER TABLE myTable ENGINE = InnoDB;
Crear una nueva tabla con un motor de base de datos específico
Cuando crea una tabla en una base de datos, puede configurar explícitamente su motor de base de datos (de lo contrario, MySQL usa el motor de base de datos predeterminado durante la creación de la tabla). Por ejemplo, la siguiente instrucción SQL muestra cómo crear una tabla llamada myTable que utiliza el motor de base de datos MyISAM:
CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), data VARCHAR(20) NOT NULL ) ENGINE MyISAM;
De manera similar, para crear una tabla que use el motor de base de datos InnoDB, puede usar la siguiente instrucción SQL:
CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), data VARCHAR(20) NOT NULL ) ENGINE InnoDB;
Más Información
- Para obtener más información sobre el motor MyISAM, visite http://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.html.
- Para obtener más información sobre el motor InnoDB, visite http://dev.mysql.com/doc/refman/5.5/en/innodb-storage-engine.html.