---
title: "Pasar un volcado de MySQL a otra versión"
description: "Convierte un volcado de MySQL para la versión de MySQL en la que lo cargas: un volcado de 8.0 o 9 recibe collations que 5.7 acepta. Mismas tablas, claves y datos."
canonical: https://intosql.com/es/mysql-a-mysql
last_updated: 2026-10-15
---

# Pasar un volcado de MySQL a otra versión

Suelta un volcado de mysqldump, mysqlpump, phpMyAdmin o Adminer, de MySQL 5.5 a 9, como .sql o .sql.gz, y descarga un script que carga en MySQL 5.7 y posteriores. Las collations que solo conocen MySQL 8 y posteriores, como utf8mb4_0900_ai_ci, se vuelven utf8mb4_unicode_520_ci, y cada cambio aparece en el informe.

[Guía de migración de MySQL a MySQL](https://intosql.com/docs/migrations/mysql-to-mysql)

[Tipos de datos de MySQL a MySQL](https://intosql.com/docs/types/mysql-to-mysql)

## Qué cambia entre el archivo y el script

Cada fila es una regla que aplica el convertidor, con la línea que escribe en el informe cuando la regla cambia algo en tus datos.

| En el archivo | En el script | Línea del informe |
| --- | --- | --- |
| utf8mb4_0900_* and utf8mb4_uca1400_* collations | utf8mb4_unicode_520_ci (utf8mb4_bin para las binarias) | `collation_replaced` |
| zero, partial or impossible dates (0000-00-00, 2024-02-30) | se conserva |  |
| TIME | TIME, con duraciones incluidas |  |
| TINYINT(1), BOOL | TINYINT(1) |  |
| UNSIGNED and ZEROFILL | se conserva |  |
| ENUM and SET, the '' error value included | se conserva |  |
| JSON | JSON |  |
| NUL bytes in text | se conserva |  |
| AUTO_INCREMENT | AUTO_INCREMENT con el contador de la tabla |  |
| MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dump | un índice sobre la columna y un contador para la tabla | `myisam_group_autoincrement` |
| ON UPDATE CURRENT_TIMESTAMP | se conserva |  |
| generated columns | VIRTUAL o STORED como en el origen |  |
| generated columns with functions IntoSQL doesn't read | una columna simple | `generated_not_translated` |
| INVISIBLE columns | columnas normales | `invisible_column` |
| CHECK constraints | se conservan (MySQL 5.7 los analiza y los ignora) |  |
| CHECK constraints with functions IntoSQL doesn't read | no se crea | `check_skipped` |
| CHECK ... NOT ENFORCED | no se crea | `check_not_enforced` |
| expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY | sin valor predeterminado | `default_not_translated` |
| functional indexes, KEY ((expr)) | no se crea | `index_skipped` |
| keys and indexes on a prefix, c(20) | se conserva |  |
| FULLTEXT indexes | se conserva |  |
| SPATIAL indexes | se conserva |  |
| foreign keys | se conservan, cargadas con FOREIGN_KEY_CHECKS=0 |  |
| GEOMETRY, POINT, POLYGON... | se conserva, con el SRID de cada valor |  |
| INET4, INET6, UUID (MariaDB) | varchar(15), varchar(39), char(36) | `type_replaced` |
| BINARY, VARBINARY, BLOB | se conserva |  |
| PARTITION BY | una sola tabla | `partitions_dropped` |
| WITH SYSTEM VERSIONING (MariaDB) | una tabla con las filas actuales | `system_versioning_dropped` |
| Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB) | InnoDB | `engine_dropped` |
| CREATE SEQUENCE (MariaDB) | no se crea | `sequence_not_converted` |
| views, triggers, procedures, functions and events | listados en el informe | `not_converted_objects` |
| NOT NULL columns with values that become NULL | sin NOT NULL | `not_null_relaxed` |
| text that isn't valid in its character set | los bytes incorrectos como carácter de reemplazo | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | se copia tal cual | `mojibake_suspected` |
| dumps without CREATE TABLE | tipos leídos de los valores | `no_schema` |
| geometries in a dump without CREATE TABLE | GEOMETRY |  |
| SET NAMES utf8 from utf8mb4 tables | se convierte, con una advertencia | `dump_lost_four_byte_chars` |
| dumps without SET NAMES whose text isn't UTF-8 | se lee como Latin-1 (Windows-1252) | `charset_guessed` |
| sjis, cp932, gbk, big5 dumps | se lee como UTF-8, con una advertencia | `unsupported_charset` |
| UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows | se evalúan |  |
| other expressions in rows | NULL | `expression_value` |
| DEFAULT in VALUES | el valor predeterminado de la columna | `default_keyword_filled` |
| DEFAULT in VALUES without a literal default | NULL | `default_keyword_null` |
| REPLACE and INSERT IGNORE | filas simples | `replace_as_insert` |
| types IntoSQL doesn't know | LONGBLOB | `unknown_type` |
| values that don't fit their column | NULL | `invalid_value_null` |
| unreadable geometries | NULL | `bad_geometry` |
| TIMESTAMP | se conserva, cargado en la zona horaria que indica el volcado |  |
| VECTOR(n) (MariaDB 11.7+) | json con los números de punto flotante como arreglo | `type_replaced` |

## Carga el script en MySQL

El script crea las tablas, copia las filas y luego agrega claves, índices y claves foráneas, así que carga rápido y se detiene en el primer error.

```shell
mysql --default-character-set=utf8mb4 mydb < mysql.mysql.sql
```

Las claves foráneas se crean como las declara el volcado, con FOREIGN_KEY_CHECKS=0 mientras cargan las filas, así que una fila que apunta a una fila que no existe no detiene la carga.

Para un volcado grande, ejecuta el cliente en la misma máquina que el servidor, y sube max_allowed_packet si una sola fila es muy grande.

IntoSQL Pro carga el archivo directo en MySQL desde la app de escritorio o la línea de comandos, sin escribir un script.

## Haz el volcado de MySQL para el mejor resultado

El convertidor lee lo que contiene el volcado. Estas opciones conservan más de tus datos en él:

- --default-character-set=utf8mb4 conserva los emoji y otros caracteres de 4 bytes, que un volcado utf8 pierde antes de que el convertidor lo vea.
- --hex-blob escribe las columnas binarias en hexadecimal, que sobrevive a la copia entre sistemas.
- --routines --triggers --events agregan esos objetos al volcado, para que el informe pueda listarlos.

## Qué no se convierte

Las vistas, disparadores, procedimientos, funciones y otros objetos escritos en el propio lenguaje de MySQL aparecen en el informe por nombre, nunca se descartan en silencio, para que revises cada uno contra la versión de MySQL en la que cargas antes de recrearlo.

## Preguntas sobre pasar MySQL entre versiones

### ¿Se sube mi volcado?

No. El convertidor se ejecuta en tu navegador y lee el volcado de tu disco por partes, así que nunca sale de tu computadora. La app de escritorio y la línea de comandos también convierten en tu computadora.

### ¿Qué tan grande puede ser el volcado?

El convertidor nunca tiene todo el volcado en memoria: lee el archivo dos veces, por rangos, y escribe el script sobre la marcha. Los volcados de varios gigabytes se convierten en el navegador, en la app de escritorio y con la línea de comandos.

### ¿Lee volcados de MariaDB?

Sí. Los volcados de mariadb-dump y de MariaDB 10.3 a 12 se convierten de la misma forma, incluidas las columnas INET6, INET4 y UUID de MariaDB.

### ¿Qué pasa con las fechas 0000-00-00?

MySQL las conserva: el script fija un modo SQL que acepta fechas cero e imposibles mientras carga, así que llegan tal cual.

### ¿Se conservan los valores AUTO_INCREMENT?

Sí. AUTO_INCREMENT queda igual, y el contador de la tabla sigue donde lo dejó el volcado.

### ¿TINYINT(1) se vuelve boolean?

Sigue siendo TINYINT(1), como en el origen, así que cada valor conserva su número.

### ¿Qué pasa con los procedimientos almacenados y los disparadores?

Aparecen en el informe por nombre y no se convierten, para que revises cada uno contra la versión de MySQL en la que cargas antes de recrearlo. ON UPDATE CURRENT_TIMESTAMP queda igual.

### ¿En qué versiones de MySQL carga el script?

MySQL 5.7 y posteriores. Cada volcado de prueba carga en 5.7 y 9, y se detiene en el primer error si algo sale mal.

## Desde MySQL

- [MySQL a PostgreSQL](https://intosql.com/es/mysql-a-postgresql)
- [MySQL a MariaDB](https://intosql.com/es/mysql-a-mariadb)
- [MySQL a SQLite](https://intosql.com/es/mysql-a-sqlite)
- [MySQL a SQL Server](https://intosql.com/es/mysql-a-sql-server)
- [MySQL a Oracle](https://intosql.com/es/mysql-a-oracle)

## Hacia MySQL

- [MariaDB a MySQL](https://intosql.com/es/mariadb-a-mysql)
- [PostgreSQL a MySQL](https://intosql.com/es/postgresql-a-mysql)
- [SQL Server a MySQL](https://intosql.com/es/sql-server-a-mysql)
- [SQLite a MySQL](https://intosql.com/es/sqlite-a-mysql)
- [Oracle a MySQL](https://intosql.com/es/oracle-a-mysql)

## Guía y todos los pares

- [Guía de migración de MySQL a MySQL](https://intosql.com/docs/migrations/mysql-to-mysql)
- [Tipos de datos de MySQL a MySQL](https://intosql.com/docs/types/mysql-to-mysql)
- [Todos los pares de bases de datos](https://intosql.com/es/migracion-de-bases-de-datos)
