---
title: "Een MySQL-dump naar een andere MySQL-versie"
description: "Zet een MySQL-dump om voor de MySQL-versie waarin je laadt: een dump van 8.0 of 9 krijgt collaties die 5.7 accepteert. Zelfde tabellen, sleutels en data, met rapport."
canonical: https://intosql.com/nl/mysql-naar-mysql
last_updated: 2026-10-15
---

# Een MySQL-dump naar een andere MySQL-versie

Sleep een dump van mysqldump, mysqlpump, phpMyAdmin of Adminer, van MySQL 5.5 tot en met 9, als .sql of .sql.gz hierheen en download een script dat laadt op MySQL 5.7 en later. Collaties die alleen MySQL 8 en later kent, zoals utf8mb4_0900_ai_ci, worden utf8mb4_unicode_520_ci, en elke wijziging staat in het rapport.

[Migratiehandleiding MySQL naar MySQL](https://intosql.com/docs/migrations/mysql-to-mysql)

[Datatypen van MySQL naar MySQL](https://intosql.com/docs/types/mysql-to-mysql)

## Wat er verandert tussen het bestand en het script

Elke rij is een regel die de converter toepast, met de rapportregel die hij schrijft als de regel iets in je data verandert.

| In het bestand | In het script | Rapportregel |
| --- | --- | --- |
| utf8mb4_0900_* and utf8mb4_uca1400_* collations | utf8mb4_unicode_520_ci (utf8mb4_bin voor binaire) | `collation_replaced` |
| zero, partial or impossible dates (0000-00-00, 2024-02-30) | behouden |  |
| TIME | TIME, inclusief duren |  |
| TINYINT(1), BOOL | TINYINT(1) |  |
| UNSIGNED and ZEROFILL | behouden |  |
| ENUM and SET, the '' error value included | behouden |  |
| JSON | JSON |  |
| NUL bytes in text | behouden |  |
| AUTO_INCREMENT | AUTO_INCREMENT met de teller van de tabel |  |
| MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dump | een index op de kolom en één teller voor de tabel | `myisam_group_autoincrement` |
| ON UPDATE CURRENT_TIMESTAMP | behouden |  |
| generated columns | VIRTUAL of STORED zoals in de bron |  |
| generated columns with functions IntoSQL doesn't read | een gewone kolom | `generated_not_translated` |
| INVISIBLE columns | gewone kolommen | `invisible_column` |
| CHECK constraints | behouden (MySQL 5.7 leest ze en negeert ze) |  |
| CHECK constraints with functions IntoSQL doesn't read | niet aangemaakt | `check_skipped` |
| CHECK ... NOT ENFORCED | niet aangemaakt | `check_not_enforced` |
| expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY | geen standaardwaarde | `default_not_translated` |
| functional indexes, KEY ((expr)) | niet aangemaakt | `index_skipped` |
| keys and indexes on a prefix, c(20) | behouden |  |
| FULLTEXT indexes | behouden |  |
| SPATIAL indexes | behouden |  |
| foreign keys | behouden, geladen met FOREIGN_KEY_CHECKS=0 |  |
| GEOMETRY, POINT, POLYGON... | behouden, met de SRID van elke waarde |  |
| INET4, INET6, UUID (MariaDB) | varchar(15), varchar(39), char(36) | `type_replaced` |
| BINARY, VARBINARY, BLOB | behouden |  |
| PARTITION BY | één tabel | `partitions_dropped` |
| WITH SYSTEM VERSIONING (MariaDB) | een tabel met de huidige rijen | `system_versioning_dropped` |
| Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB) | InnoDB | `engine_dropped` |
| CREATE SEQUENCE (MariaDB) | niet aangemaakt | `sequence_not_converted` |
| views, triggers, procedures, functions and events | vermeld in het rapport | `not_converted_objects` |
| NOT NULL columns with values that become NULL | NOT NULL weggelaten | `not_null_relaxed` |
| text that isn't valid in its character set | de foute bytes als het vervangingsteken | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | ongewijzigd gekopieerd | `mojibake_suspected` |
| dumps without CREATE TABLE | typen afgeleid uit de waarden | `no_schema` |
| geometries in a dump without CREATE TABLE | GEOMETRY |  |
| SET NAMES utf8 from utf8mb4 tables | geconverteerd, met een waarschuwing | `dump_lost_four_byte_chars` |
| dumps without SET NAMES whose text isn't UTF-8 | gelezen als Latin-1 (Windows-1252) | `charset_guessed` |
| sjis, cp932, gbk, big5 dumps | gelezen als UTF-8, met een waarschuwing | `unsupported_charset` |
| UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows | geëvalueerd |  |
| other expressions in rows | NULL | `expression_value` |
| DEFAULT in VALUES | de standaardwaarde van de kolom | `default_keyword_filled` |
| DEFAULT in VALUES without a literal default | NULL | `default_keyword_null` |
| REPLACE and INSERT IGNORE | gewone rijen | `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 | behouden, geladen in de tijdzone die de dump vermeldt |  |
| VECTOR(n) (MariaDB 11.7+) | json met de floats als array | `type_replaced` |

## Het script in MySQL laden

Het script maakt de tabellen aan, kopieert de rijen en voegt daarna sleutels, indexen en refererende sleutels toe, zodat het snel laadt en bij de eerste fout stopt.

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

Refererende sleutels worden aangemaakt zoals de dump ze declareert, met FOREIGN_KEY_CHECKS=0 terwijl de rijen laden, zodat een rij die naar een ontbrekende rij verwijst het laden niet stopt.

Voer bij een grote dump de client uit op dezelfde machine als de server, en verhoog max_allowed_packet als één rij erg groot is.

IntoSQL Pro laadt het bestand rechtstreeks in MySQL vanuit de desktopapp of de opdrachtregel, zonder een script te schrijven.

## Een dump van MySQL maken voor het beste resultaat

De converter leest wat de dump bevat. Met deze opties blijft er meer van je data in staan:

- --default-character-set=utf8mb4 behoudt emoji en andere 4-bytestekens, die een utf8-dump kwijtraakt voordat de converter hem ziet.
- --hex-blob schrijft binaire kolommen als hexadecimaal, wat kopiëren tussen systemen overleeft.
- --routines --triggers --events voegen die objecten aan de dump toe, zodat het rapport ze kan vermelden.

## Wat niet wordt geconverteerd

Weergaven, triggers, procedures, functies en andere objecten in de eigen taal van MySQL staan op naam in het rapport en worden nooit stilletjes weggelaten, zodat je elk ervan kunt controleren tegen de MySQL-versie waarin je laadt voordat je het opnieuw aanmaakt.

## Vragen over MySQL verhuizen tussen versies

### Wordt mijn dump geüpload?

Nee. De converter draait in je browser en leest de dump in delen van je schijf, dus hij verlaat je computer nooit. De desktopapp en de opdrachtregel converteren ook op je computer.

### Hoe groot mag de dump zijn?

De converter houdt nooit de hele dump in het geheugen: hij leest het bestand twee keer, in bereiken, en schrijft het script gaandeweg. Dumps van meerdere gigabytes worden geconverteerd in de browser, in de desktopapp en met de opdrachtregel.

### Leest het MariaDB-dumps?

Ja. Dumps van mariadb-dump en van MariaDB 10.3 tot en met 12 worden op dezelfde manier geconverteerd, inclusief de INET6-, INET4- en UUID-kolommen van MariaDB.

### Wat gebeurt er met datums als 0000-00-00?

MySQL behoudt ze: het script zet tijdens het laden een SQL-modus die nuldatums en onmogelijke datums accepteert, zodat ze ongewijzigd aankomen.

### Blijven AUTO_INCREMENT-waarden behouden?

Ja. AUTO_INCREMENT blijft zoals het is, en de teller van de tabel gaat verder waar de dump hem liet.

### Wordt TINYINT(1) boolean?

Het blijft TINYINT(1), zoals in de bron, dus elke waarde behoudt zijn getal.

### En opgeslagen procedures en triggers?

Ze staan op naam in het rapport en worden niet geconverteerd, zodat je elk ervan kunt controleren tegen de MySQL-versie waarin je laadt voordat je het opnieuw aanmaakt. ON UPDATE CURRENT_TIMESTAMP blijft zoals het is.

### Op welke MySQL-versies laadt het script?

MySQL 5.7 en later. Elke testdump laadt op 5.7 en 9 en stopt bij de eerste fout als er iets misgaat.

## Vanuit MySQL

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

## Naar MySQL

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

## Handleiding en elke combinatie

- [Migratiehandleiding MySQL naar MySQL](https://intosql.com/docs/migrations/mysql-to-mysql)
- [Datatypen van MySQL naar MySQL](https://intosql.com/docs/types/mysql-to-mysql)
- [Elke databasecombinatie](https://intosql.com/nl/databasemigratie)
