---
title: "Migrar MySQL a MariaDB en tu navegador"
description: "Migra una base de datos MySQL o MariaDB a MariaDB: convierte su volcado en un script con las mismas tablas, claves y datos, y un informe de cada cambio."
canonical: https://intosql.com/es/mysql-a-mariadb
last_updated: 2026-10-15
---

# Migrar MySQL a MariaDB en tu navegador

Suelta un volcado de mysqldump, mariadb-dump, mysqlpump, phpMyAdmin o Adminer, en .sql o .sql.gz, y descarga un script de MariaDB con las mismas tablas, claves, índices y datos. Cada valor que MariaDB no puede guardar tal cual, y cada objeto que no admite, aparece en el informe.

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

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

## Qué cambia de MySQL a MariaDB

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 MySQL | En MariaDB | Línea del informe |
| --- | --- | --- |
| utf8mb4_0900_* and utf8mb4_uca1400_* collations | utf8mb4_unicode_520_ci para utf8mb4_0900_* (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 (LONGTEXT que MariaDB comprueba) |  |
| 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 INVISIBLE |  |
| CHECK constraints | se conserva |  |
| 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 | se conserva | `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) | se conserva |  |
| BINARY, VARBINARY, BLOB | se conserva |  |
| PARTITION BY | una sola tabla | `partitions_dropped` |
| WITH SYSTEM VERSIONING (MariaDB) | WITH SYSTEM VERSIONING, a partir de las filas actuales |  |
| Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB) | se conserva |  |
| CREATE SEQUENCE (MariaDB) | CREATE SEQUENCE con su siguiente valor |  |
| 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 MariaDB

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
mariadb --default-character-set=utf8mb4 mydb < mysql.mariadb.sql
```

Las claves foráneas se crean como las declara el volcado, con FOREIGN_KEY_CHECKS=0 mientras cargan las filas, como hace mysqldump.

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 MariaDB 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, los disparadores, los procedimientos almacenados, las funciones y los eventos se escriben en el lenguaje propio de cada base de datos. Aparecen en el informe por nombre, nunca se descartan en silencio, para que puedas reescribirlos para MariaDB.

## Preguntas sobre MySQL a MariaDB

### ¿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?

MariaDB 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 se queda tal cual, 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 puedas revisar cada uno contra MariaDB antes de volver a crearlo. ON UPDATE CURRENT_TIMESTAMP se queda tal cual.

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

MariaDB 10.11 y posteriores. Cada volcado de prueba carga en 10.11 y 11.4, de MySQL 5.7 a 9 y de MariaDB.

## Desde MySQL

- [MySQL a PostgreSQL](https://intosql.com/es/mysql-a-postgresql)
- [MySQL a MySQL](https://intosql.com/es/mysql-a-mysql)
- [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 MariaDB

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

## Guía y todos los pares

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