InnoDB vs MyISAM
Los dos motores de almacenamiento de MySQL son parecidos, pero tienen algunas diferencias clave:
- InnoDB admite transacciones; MyISAM no. Las transacciones permiten ejecutar varias operaciones de datos (crear, leer, actualizar y eliminar) como un conjunto, de modo que puedes confirmar (commit) o deshacer (rollback) los cambios.
- InnoDB gestiona mejor grandes volúmenes de datos, en parte porque admite transacciones. MyISAM suele ser más rápido leyendo datos, pero no maneja grandes volúmenes más rápido que InnoDB.
- InnoDB admite bloqueo por filas, mientras que MyISAM bloquea la tabla completa cuando se activa la opción de bloqueo. Este bloqueo de filas o tablas garantiza que solo un usuario modifique los datos a la vez.
Nota: haz una copia de seguridad de tu base de datos antes de cambiar el motor de almacenamiento.
Cómo cambiar el motor de MySQL
Con una sentencia SQL
Puedes cambiar el motor a MyISAM o InnoDB ejecutando esta consulta dentro de la base de datos:
ALTER TABLE `table_name` ENGINE = MYISAM;
ALTER TABLE `table_name` ENGINE = InnoDB;
Con phpMyAdmin
También puedes cambiarlo desde phpMyAdmin. Entra a phpMyAdmin, selecciona la base de datos o las tablas cuyo motor quieres cambiar y abre la pestaña Operations, en la esquina superior derecha. Aparecerá el campo Storage engine, que te permite modificar el motor de almacenamiento.

Editando el archivo SQL
Este método solo debe usarse cuando la importación de un archivo SQL termina con un error grave, como este:
ERROR 1118 (42000) at line 55: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
En este ejemplo, una de las tablas de la base de datos no se importó porque contiene demasiados datos para el motor con el que intenta importarse. Para solucionarlo, hay que cambiar el motor de InnoDB a MyISAM:
- Abre el archivo SQL con un editor de texto en tu equipo y localiza la sentencia
CREATEusando el número de línea del error (en este caso, la línea 55). - Cambia la línea
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;por:ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; - Guarda el archivo SQL, elimina (drop) las tablas de la base de datos en la que intentabas importar y vuelve a intentar la importación. Debería completarse sin problemas.