1. Home
  2. Tutoriales
  3. CPanel
  4. Hosting Cpanel
  5. Convertir BD MyISAM a InnoDB con phpmyadmin
  1. Home
  2. Tutoriales
  3. DirectAdmin
  4. Hosting DA
  5. Convertir BD MyISAM a InnoDB con phpmyadmin

Convertir BD MyISAM a InnoDB con phpmyadmin

Este tutorial es avanzado, y si no tienes la confianza de hacerlo, con mucho gusto podemos hacerlo por ti.

Veremos como convertir una base de datos que está usando el motor MyISAM al motor InnoDB.

Si en tu base de datos tienes todas o algunas tablas como MyISAM y no InnoDB, en la gran mayoría de los casos (la mayoría de CMS como WordPress u otros) se recomienda cambiar a InnoDB.

Como veo si mi Base de datos es MyISAM o InnoDB

  • Ya sea que tengas un plan con Cpanel o DirectAdmin, debes ingresar a este Panel de control y luego al PhpMyAdmin
Asi se ve en Cpanel
Asi luce en DirectAdmin

Primero… respalda tu base de datos

  • Lo primero antes de hacer cualquier acción en una base de datos, se recomienda respaldarla.
  • Entra al phpmyadmin
  • Haz click en la base de datos
  • Haz click en «Exportar» (la pestaña)
  • Luego click en el botón «Exportar» y te permitirá descargar el respaldo.

Verifica si realmente tienes tablas con MyISAM

  • Bien, antes de empezar a usar consultas SQL, veamos si realmente lo necesitamos
  • Haz click en tu base de datos, para ver sus tablas, y fijate en «Tipo» si alguna es MyISAM, si solo ves «InnoDB» no hay nada que modificar. En la foto siguiente, es un ejemplo de una Base de datos, con tablas mezcladas, donde si podriamos corregir/convertir a InnoDB.

Como convierto una tabla MyISAM a InnoDB

  • Entra al phpmyadmin
  • Haz click en la Base de datos
  • Haz click en la Tabla que previamente viste utiliza MyISAM
  • Entra a la pestaña «Operaciones»
  • En «Motor de almacenamiento» cambia MyISAM por InnoDB
  • Haz click en Continuar
  • Listo! haz convertido la tabla de MyISAM a InnoDB

Como convierto mi base de datos completa de MyISAM a InnoDB

  • Entra al phpmyadmin
  • Haz click en la Base de datos
  • Entra a la pestaña «SQL»
  • Ejecuta el siguiente comando SQL, cambiando «el-nombre-de-tu-bd» por el verdadero nombre de tu base de datos.
SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' ENGINE=InnoDB;') 
FROM INFORMATION_SCHEMA.TABLES
WHERE ENGINE='MyISAM'
AND table_schema = 'el-nombre-de-tu-bd'; 
  • Ejecuta el comando
  • Haz click en «Opciones Extra» y activa «Textos Completos»
  • Click en Continuar
  • Luego haz click en «Mostrar Todo»
  • Te pedirá confirmar, y acepta.
  • Ejemplo:
  • Ahora debes copiar todas las lineas del resultado, es 1 linea por cada tabla MyISAM, ejemplo:
Seleccionalas todas, y copia la selección.
  • Vuelve a hacer click en la Base de datos
  • Entra a la pestaña «SQL»
  • Copia lo que seleccionaste (todas las lineas que empiezan con ALTER TABLE), y haz click en Continuar, este es un ejemplo:
  • Listo! haz modificado todas las tablas de tu base de datos de MyISAM a InnoDB

Hice el cambio y ahora mi sitio tiene problemas

Para eso hiciste un respaldo antes, puedes restaurarlo, o avisarnos y te ayudaremos!

¿Pueden convertir mis bases de datos MyISAM a InnoDB por mi?

Sin duda, puedes contactarnos via Ticket de Soporte en nuestro sitio, o enviando un correo a [email protected] y te ayudaremos en la conversión de MyISAM a InnoDB.

Updated on 30 octubre, 2024

Was this article helpful?

Related Articles

Leave a Comment