---
title: "MySQL-Dump auf eine andere Version bringen"
description: "Konvertiere einen MySQL-Dump für die MySQL-Version, in die du lädst: Ein Dump aus 8.0 oder 9 erhält Collations, die 5.7 akzeptiert. Gleiche Tabellen und Daten."
canonical: https://intosql.com/de/mysql-in-mysql
last_updated: 2026-10-15
---

# MySQL-Dump auf eine andere Version bringen

Zieh einen Dump aus mysqldump, mysqlpump, phpMyAdmin oder Adminer von MySQL 5.5 bis 9 als .sql oder .sql.gz hierher und lade ein Skript herunter, das auf MySQL ab 5.7 lädt. Collations, die nur MySQL ab 8 kennt, etwa utf8mb4_0900_ai_ci, werden zu utf8mb4_unicode_520_ci, und jede Änderung steht im Bericht.

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

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

## Was sich zwischen Datei und Skript ä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 der Datei | Im Skript | 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 < mysql.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 MySQL-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 utf8-Dump verliert, bevor der Konverter ihn sieht.
- --hex-blob schreibt Binärspalten 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

Views, Trigger, Prozeduren, Funktionen und andere Objekte in der eigenen Sprache von MySQL stehen mit Namen im Bericht und werden nie stillschweigend entfernt, damit du jedes vor dem Neuanlegen mit der MySQL-Version abgleichen kannst, in die du lädst.

## Fragen zum Wechsel von MySQL zwischen Versionen

### 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.

### Liest es MariaDB-Dumps?

Ja. Dumps aus mariadb-dump und aus MariaDB 10.3 bis 12 werden genauso konvertiert, einschließlich der INET6-, INET4- und UUID-Spalten von MariaDB.

### Was passiert mit dem Datum 0000-00-00?

MySQL behält sie: Das Skript setzt beim Laden einen SQL-Modus, der Null- und unmögliche Datumswerte akzeptiert, sodass sie unverändert ankommen.

### Bleiben AUTO_INCREMENT-Werte erhalten?

Ja. AUTO_INCREMENT bleibt, wie es ist, und der Zähler der Tabelle läuft dort weiter, wo der Dump ihn gelassen hat.

### Wird TINYINT(1) zu boolean?

Sie bleibt TINYINT(1) wie in der Quelle, sodass jeder Wert seine Zahl behält.

### 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 der MySQL-Version abgleichen kannst, in die du lädst. ON UPDATE CURRENT_TIMESTAMP bleibt, wie es ist.

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

MySQL ab 5.7. Jeder Test-Dump lädt auf 5.7 und 9 und stoppt beim ersten Fehler, falls etwas schiefgeht.

## Aus MySQL

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

## Nach MySQL

- [MariaDB zu MySQL](https://intosql.com/de/mariadb-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

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