---
title: "MariaDB zu MySQL migrieren, im Browser"
description: "Migriere eine MariaDB-Datenbank zu MySQL: Ihr Dump wird ein Skript mit denselben Tabellen, Schlüsseln, Sequenzen und Daten, plus Bericht über jede Änderung."
canonical: https://intosql.com/de/mariadb-in-mysql
last_updated: 2026-10-15
---

# MariaDB zu MySQL migrieren, im Browser

Leg einen Dump aus mariadb-dump, mysqldump, phpMyAdmin oder Adminer ab, als .sql oder .sql.gz, und lade ein MySQL-Skript mit denselben Tabellen, Schlüsseln, Indizes und Daten herunter. Jeder Wert, den MySQL nicht unverändert aufnehmen kann, und jedes Objekt, das es nicht übernimmt, steht im Bericht.

[Leitfaden: MariaDB zu MySQL migrieren](https://intosql.com/docs/migrations/mariadb-to-mysql)

[Datentypen von MariaDB zu MySQL](https://intosql.com/docs/types/mariadb-to-mysql)

## Was sich von MariaDB zu MySQL ändert

Jede Zeile ist eine Regel, die der Konverter anwendet, mit der Berichtszeile, die er schreibt, wenn die Regel etwas an deinen Daten ändert.

| In MariaDB | In MySQL | Berichtszeile |
| --- | --- | --- |
| utf8mb4_0900_* and utf8mb4_uca1400_* collations | utf8mb4_unicode_520_ci (utf8mb4_bin für binäre) | `collation_replaced` |
| zero, partial or impossible dates (0000-00-00, 2024-02-30) | beibehalten |  |
| TIME | TIME, einschließlich Dauern |  |
| TINYINT(1), BOOL | TINYINT(1) |  |
| UNSIGNED and ZEROFILL | beibehalten |  |
| ENUM and SET, the '' error value included | beibehalten |  |
| JSON | JSON |  |
| NUL bytes in text | beibehalten |  |
| AUTO_INCREMENT | AUTO_INCREMENT mit dem Zähler der Tabelle |  |
| MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dump | ein Index auf der Spalte und ein Zähler für die Tabelle | `myisam_group_autoincrement` |
| ON UPDATE CURRENT_TIMESTAMP | beibehalten |  |
| generated columns | VIRTUAL oder STORED wie in der Quelle |  |
| generated columns with functions IntoSQL doesn't read | eine normale Spalte | `generated_not_translated` |
| INVISIBLE columns | normale Spalten | `invisible_column` |
| CHECK constraints | beibehalten (MySQL 5.7 parst und ignoriert sie) |  |
| CHECK constraints with functions IntoSQL doesn't read | nicht angelegt | `check_skipped` |
| CHECK ... NOT ENFORCED | nicht angelegt | `check_not_enforced` |
| expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY | kein Standardwert | `default_not_translated` |
| functional indexes, KEY ((expr)) | nicht angelegt | `index_skipped` |
| keys and indexes on a prefix, c(20) | beibehalten |  |
| FULLTEXT indexes | beibehalten |  |
| SPATIAL indexes | beibehalten |  |
| foreign keys | beibehalten, geladen mit FOREIGN_KEY_CHECKS=0 |  |
| GEOMETRY, POINT, POLYGON... | beibehalten, mit der SRID jedes Werts |  |
| INET4, INET6, UUID (MariaDB) | varchar(15), varchar(39), char(36) | `type_replaced` |
| BINARY, VARBINARY, BLOB | beibehalten |  |
| PARTITION BY | eine Tabelle | `partitions_dropped` |
| WITH SYSTEM VERSIONING (MariaDB) | eine Tabelle mit den aktuellen Zeilen | `system_versioning_dropped` |
| Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB) | InnoDB | `engine_dropped` |
| CREATE SEQUENCE (MariaDB) | nicht angelegt | `sequence_not_converted` |
| views, triggers, procedures, functions and events | im Bericht aufgeführt | `not_converted_objects` |
| NOT NULL columns with values that become NULL | NOT NULL entfernt | `not_null_relaxed` |
| text that isn't valid in its character set | die fehlerhaften Bytes als Ersatzzeichen | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | unverändert kopiert | `mojibake_suspected` |
| dumps without CREATE TABLE | Typen aus den Werten gelesen | `no_schema` |
| geometries in a dump without CREATE TABLE | GEOMETRY |  |
| SET NAMES utf8 from utf8mb4 tables | konvertiert, mit einer Warnung | `dump_lost_four_byte_chars` |
| dumps without SET NAMES whose text isn't UTF-8 | als Latin-1 (Windows-1252) gelesen | `charset_guessed` |
| sjis, cp932, gbk, big5 dumps | als UTF-8 gelesen, mit einer Warnung | `unsupported_charset` |
| UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows | ausgewertet |  |
| other expressions in rows | NULL | `expression_value` |
| DEFAULT in VALUES | der Standardwert der Spalte | `default_keyword_filled` |
| DEFAULT in VALUES without a literal default | NULL | `default_keyword_null` |
| REPLACE and INSERT IGNORE | normale Zeilen | `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 | beibehalten, geladen in der Zeitzone, die der Dump angibt |  |
| VECTOR(n) (MariaDB 11.7+) | json mit den Gleitkommazahlen als Array | `type_replaced` |

## Das Skript in MySQL laden

Das Skript legt die Tabellen an, kopiert die Zeilen und fügt dann Schlüssel, Indizes und Fremdschlüssel hinzu, so lädt es schnell und hält beim ersten Fehler an.

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

Fremdschlüssel werden so angelegt, wie der Dump sie deklariert, mit FOREIGN_KEY_CHECKS=0, während die Zeilen laden, daher hält eine Zeile, die auf eine fehlende Zeile verweist, das Laden nicht an.

Führe bei einem großen Dump den Client auf dem Rechner des Servers aus und erhöhe max_allowed_packet, wenn eine einzelne Zeile sehr groß ist.

IntoSQL Pro lädt die Datei aus der Desktop-App oder der Kommandozeile direkt in MySQL, ohne ein Skript zu schreiben.

## Den MariaDB-Dump für das beste Ergebnis erstellen

Der Konverter liest, was der Dump enthält. Mit diesen Optionen bleibt mehr von deinen Daten darin:

- --default-character-set=utf8mb4 bewahrt Emoji und andere 4-Byte-Zeichen, die ein utf8mb3-Dump verliert, bevor der Konverter ihn sieht.
- --hex-blob schreibt Binärspalten und VECTOR-Werte hexadezimal, was das Kopieren zwischen Systemen übersteht.
- --routines --triggers --events fügen diese Objekte dem Dump hinzu, damit der Bericht sie auflisten kann.

## Was nicht konvertiert wird

Sichten, Trigger, gespeicherte Prozeduren, Funktionen und Ereignisse sind in der eigenen Sprache von MariaDB geschrieben. Sie stehen mit Namen im Bericht und werden nie stillschweigend weggelassen, damit du sie für MySQL neu schreiben kannst.

## Fragen zu MariaDB zu MySQL

### Wird mein Dump hochgeladen?

Nein. Der Konverter läuft in deinem Browser und liest den Dump stückweise von deiner Festplatte, daher verlässt er nie deinen Computer. Die Desktop-App und die Kommandozeile konvertieren ebenfalls auf deinem Computer.

### Wie groß darf der Dump sein?

Der Konverter hält nie den ganzen Dump im Speicher: Er liest die Datei zweimal, in Abschnitten, und schreibt das Skript fortlaufend. Dumps von mehreren Gigabyte werden im Browser, in der Desktop-App und mit der Kommandozeile konvertiert.

### Aus welchen MariaDB-Versionen kann der Dump stammen?

Dumps aus mariadb-dump und mysqldump auf MariaDB 10.3 bis 12, mit einem INSERT pro Tabelle oder einem pro Zeile. Jeder Test-Dump stammt aus MariaDB 10.11, 11.4 und 11.8 und wird Zelle für Zelle mit seiner Quelle verglichen.

### Bleiben UUID-, INET6-, JSON- und VECTOR-Spalten erhalten?

UUID wird char(36), INET4 und INET6 varchar, JSON json und VECTOR ein json-Array seiner Gleitkommazahlen, weil MySQL 5.7 und 8.0 diese Typen nicht haben.

### Bleiben AUTO_INCREMENT-Werte und Sequenzen erhalten?

AUTO_INCREMENT bleibt unverändert und macht dort weiter, wo der Dump aufgehört hat. MySQL hat keine Sequenzen, daher stehen sie und die Standardwerte, die aus ihnen ziehen, im Bericht.

### Was ist mit gespeicherten Prozeduren und Triggern?

Sie stehen mit Namen im Bericht und werden nicht konvertiert, damit du jedes Objekt vor dem Neuanlegen mit MySQL abgleichen kannst.

### Auf welchen MySQL-Versionen lädt das Skript?

MySQL 5.7 und neuer. Jeder Test-Dump lädt auf 5.7 und 9 und hält beim ersten Fehler an, falls etwas schiefgeht.

## Aus MariaDB

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

## Nach MySQL

- [MySQL zu MySQL](https://intosql.com/de/mysql-in-mysql)
- [PostgreSQL zu MySQL](https://intosql.com/de/postgresql-in-mysql)
- [SQL Server zu MySQL](https://intosql.com/de/sql-server-in-mysql)
- [SQLite zu MySQL](https://intosql.com/de/sqlite-in-mysql)
- [Oracle zu MySQL](https://intosql.com/de/oracle-in-mysql)

## Leitfaden und alle Paare

- [MySQL zu MariaDB](https://intosql.com/de/mysql-in-mariadb)
- [Leitfaden: MariaDB zu MySQL migrieren](https://intosql.com/docs/migrations/mariadb-to-mysql)
- [Datentypen von MariaDB zu MySQL](https://intosql.com/docs/types/mariadb-to-mysql)
- [Alle Datenbankpaare](https://intosql.com/de/datenbankmigration)
