Convertir Tabla de MyISAM a InnoDB en cPanel

Categorias: Bases de Datos, cPanel

MySQL MyISAM InnoDB

Lo primero de todo indicar que las Bases de Datos MySQL de los planes de alojamiento web que tenemos en Hostinet nos permiten crear tablas con los motores de almacenamiento (storage-engine) más conocidos en la actualidad: MyISAM e InnoDB. Ambos motores se encargan de gestionar lo que es la información de una tabla.

Según la aplicación que utilicemos es conveniente usar un motor de almacenamiento u otro. Es por ello por lo que hoy vamos a indicaros los pasos a seguir para convertir una tabla de MyISAM a InnoDB (también se puede revertir el proceso para volver de InnoDB a MyISAM).

Como decimos según la aplicación necesitaremos o MyISAM o InnoDB. Por ejemplo, en lo que a MyISAM se refiere es ideal para casos en los que haya abundantes consultas SELECT a la base de datos. En cuanto a InnoDB sería la opción ideal si necesitamos transacciones, claves foráneas y bloqueos.

En fin, vamos a lo que vamos:

Convertir Tabla de MyISAM a InnoDB en cPanel

Para ello, primero debemos loguearnos en el panel de gestión del Hosting (cPanel).

URL de acceso a al panel de control cPanel -> http://nuestrodominio.com/cpanel

Una vez dentro de nuestro panel de control cPanel debemos ir hasta el segundo bloque: «Base de datos» y pinchar en «phpMyAdmin»:

cpanel phpmyadmin

Después, elegimos una base de datos del lateral derecho (la que pertenezca a la web que queremos convertir su tabla de MyISAM a InnoBD) y hacemos click sobre ella para que se nos carguen sus tablas (aparecerá la palabra «cargando» en medio de la pantalla como se muestra en la imagen de abajo).

phpmyadmin cargando base de datos

Una vez cargadas las tablas, estas se muestran en la pantalla central. Seleccionamos una de ellas y, en la parte de arriba, hacemos click en «Operaciones».

phpmyadmin tabla operaciones

Hecho esto pasamos a buscar la sección «Opciones de la tabla».

phpmyadmin tabla opciones tabla

Dentro de esta sección localizamos la opción «Motor de almacenamiento» y en el seleccionable escogemos «Innodb» (estará marcado por defecto MyISAM).

Por último, solo quedaría darle a «Continuar» (abajo a la derecha en el bloque de opciones de la tabla).

Opción Avanzada (La Más Recomendada)

Otra opción más avanzada sería ejecutar lo siguiente desde el phpMyAdmin:

cpanel phpmyadmin

Desde la pestaña SQL, pegamos lo siguiente (ojo cambiar NOMBRE_DE_LA_BBDD por la BBDD que corresponda).

phpmyadmin SQL

SELECT  CONCAT(‘ALTER TABLE `’, table_name, ‘` ENGINE=InnoDB;’) AS sql_statements
FROM    information_schema.tables AS tb
WHERE   table_schema = @DATABASE_NAME
AND     `ENGINE` = ‘MyISAM’
AND     `TABLE_TYPE` = ‘BASE TABLE’
ORDER BY table_name DESC;

phpmyadmin sql codigo para cambiar a innodb

Y, tras ello le damos a «Continuar» (abajo a la derecha del todo). Esto puede parecer sencillo a simple vista, pero no lo es tanto, así que hemos decidido poner una captura de pantalla sobre ello con datos reales, el prefijo de la base de datos hemos decido borrarlo por seguridad:

phpmyadmin sql codigo para cambiar a innodb explicación

Nota: Las tablas de la base de datos a convertir tiene que ser MyISAM, si son de otro tipo no se podrá seguir con el proceso.

En fin, si cumplimos con las condiciones antes expuestas, tras darla a «Continuar» se generarán tantas queries como tablas tengamos en MyISAM para la base de datos escogida. Podremos ver un bloque en el que pone sql_statements. Y justo encima del mismo +Opciones (tenemos que pinchar sobre esa opción).

phpmyadmin sql innodb opciones

Ahora, marcamos Textos completos y copiamos todos los sql_statements de la parte inferior (con Control + c o con la opción que nos da el ratón al hacer click con el botón derecho «Copiar»).

phpmyadmin sql innodb textos completos sql statements copiar

Nota: Todas las líneas deben finalizar en ; (punto y coma), sino finalizan así es que las líneas se han cortado y darán error al hacer el último paso.

Por último, seleccionamos una base de datos del lateral derecho (la que pertenezca a la base de datos con tablas de MyISAM) y hacemos click sobre ella para que se nos carguen sus tablas (aparecerá la palabra «cargando» en medio de la pantalla como se muestra en la imagen de abajo).

phpmyadmin cargando base de datos

Desde la pestaña SQL

phpmyadmin SQL

Pegamos las consultas (sql_statements) que copiamos antes (con Control + v o con la opción que nos da el ratón al hacer click con el botón derecho «Pegar»). Y para acabar, click en «Continuar».

phpmyadmin sql innodb sql pegar sqlstatments

¡Listo! Con eso ya estaría todo.

Ventajas de MyISAM e InnoDB

Ventajas de MyISAM e InnoDB

MyISAM

InnoDB

¿Qué motor de almacenamiento escoger: MyISAM o InnoDB?



Hosting VPS con hasta un 20% de Descuento

Según el modelo de hosting VPS contratado con Hostinet podrás ahorrarte hasta un 20%: 5% de descuento para 3 meses, 10%  de descuento para 6 meses, 15% de descuento para 1 año y un 20% de descuento para 2 años.

Servidores VPS

¿Quieres un 20% de descuento adicional para tu VPS? CLICK AQUÍ

Servicios adicionales para Servidores VPS

Descubre todos los servicios adicionales que ofrece Hostinet para servidores VPS
¡Podemos encargarnos de la gestión completa de tu VPS!
Ponte en contacto con nosotros y te haremos un presupuesto acorde a tus necesidades.

Servidores VPS

En Hostinet trabajamos desde hace más de 15 años con servidores ubicados en España (Madrid).