---
title: "Pindahkan dump MySQL ke versi MySQL lain"
description: "Konversi dump MySQL untuk versi MySQL tujuan pemuatan: dump 8.0 atau 9 mendapat collation yang diterima 5.7. Tabel, kunci, dan data yang sama, plus laporan perubahan."
canonical: https://intosql.com/id/mysql-ke-mysql
last_updated: 2026-10-15
---

# Pindahkan dump MySQL ke versi MySQL lain

Letakkan dump dari mysqldump, mysqlpump, phpMyAdmin, atau Adminer, dari MySQL 5.5 sampai 9, sebagai .sql atau .sql.gz, lalu unduh skrip yang dimuat di MySQL 5.7 dan yang lebih baru. Collation yang hanya dikenal MySQL 8 dan yang lebih baru, seperti utf8mb4_0900_ai_ci, menjadi utf8mb4_unicode_520_ci, dan setiap perubahan dicantumkan di laporan.

[Panduan migrasi MySQL ke MySQL](https://intosql.com/docs/migrations/mysql-to-mysql)

[Tipe data MySQL ke MySQL](https://intosql.com/docs/types/mysql-to-mysql)

## Apa yang berubah antara file dan skrip

Setiap baris adalah aturan yang diterapkan konverter, beserta baris laporan yang ditulisnya saat aturan itu mengubah sesuatu di data Anda.

| Di file | Di skrip | Baris laporan |
| --- | --- | --- |
| utf8mb4_0900_* and utf8mb4_uca1400_* collations | utf8mb4_unicode_520_ci (utf8mb4_bin untuk yang biner) | `collation_replaced` |
| zero, partial or impossible dates (0000-00-00, 2024-02-30) | dipertahankan |  |
| TIME | TIME, termasuk durasi |  |
| TINYINT(1), BOOL | TINYINT(1) |  |
| UNSIGNED and ZEROFILL | dipertahankan |  |
| ENUM and SET, the '' error value included | dipertahankan |  |
| JSON | JSON |  |
| NUL bytes in text | dipertahankan |  |
| AUTO_INCREMENT | AUTO_INCREMENT dengan penghitung tabel |  |
| MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dump | indeks pada kolom dan satu penghitung untuk tabel | `myisam_group_autoincrement` |
| ON UPDATE CURRENT_TIMESTAMP | dipertahankan |  |
| generated columns | VIRTUAL atau STORED seperti di sumber |  |
| generated columns with functions IntoSQL doesn't read | kolom biasa | `generated_not_translated` |
| INVISIBLE columns | kolom biasa | `invisible_column` |
| CHECK constraints | dipertahankan (MySQL 5.7 mem-parsing dan mengabaikannya) |  |
| CHECK constraints with functions IntoSQL doesn't read | tidak dibuat | `check_skipped` |
| CHECK ... NOT ENFORCED | tidak dibuat | `check_not_enforced` |
| expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY | tanpa default | `default_not_translated` |
| functional indexes, KEY ((expr)) | tidak dibuat | `index_skipped` |
| keys and indexes on a prefix, c(20) | dipertahankan |  |
| FULLTEXT indexes | dipertahankan |  |
| SPATIAL indexes | dipertahankan |  |
| foreign keys | dipertahankan, dimuat dengan FOREIGN_KEY_CHECKS=0 |  |
| GEOMETRY, POINT, POLYGON... | dipertahankan, dengan SRID setiap nilai |  |
| INET4, INET6, UUID (MariaDB) | varchar(15), varchar(39), char(36) | `type_replaced` |
| BINARY, VARBINARY, BLOB | dipertahankan |  |
| PARTITION BY | satu tabel | `partitions_dropped` |
| WITH SYSTEM VERSIONING (MariaDB) | tabel dengan baris saat ini | `system_versioning_dropped` |
| Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB) | InnoDB | `engine_dropped` |
| CREATE SEQUENCE (MariaDB) | tidak dibuat | `sequence_not_converted` |
| views, triggers, procedures, functions and events | dicantumkan di laporan | `not_converted_objects` |
| NOT NULL columns with values that become NULL | NOT NULL dihapus | `not_null_relaxed` |
| text that isn't valid in its character set | byte yang rusak menjadi karakter pengganti | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | disalin apa adanya | `mojibake_suspected` |
| dumps without CREATE TABLE | tipe dibaca dari nilai | `no_schema` |
| geometries in a dump without CREATE TABLE | GEOMETRY |  |
| SET NAMES utf8 from utf8mb4 tables | dikonversi, dengan peringatan | `dump_lost_four_byte_chars` |
| dumps without SET NAMES whose text isn't UTF-8 | dibaca sebagai Latin-1 (Windows-1252) | `charset_guessed` |
| sjis, cp932, gbk, big5 dumps | dibaca sebagai UTF-8, dengan peringatan | `unsupported_charset` |
| UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows | dievaluasi |  |
| other expressions in rows | NULL | `expression_value` |
| DEFAULT in VALUES | nilai default kolom | `default_keyword_filled` |
| DEFAULT in VALUES without a literal default | NULL | `default_keyword_null` |
| REPLACE and INSERT IGNORE | baris biasa | `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 | dipertahankan, dimuat dalam zona waktu yang disebutkan dump |  |
| VECTOR(n) (MariaDB 11.7+) | json dengan float sebagai array | `type_replaced` |

## Muat skrip ke MySQL

Skrip membuat tabel, menyalin baris, lalu menambahkan kunci, indeks, dan foreign key, jadi pemuatan berjalan cepat dan berhenti di galat pertama.

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

Foreign key dibuat seperti yang dideklarasikan dump, dengan FOREIGN_KEY_CHECKS=0 selama baris dimuat, jadi baris yang merujuk ke baris yang tidak ada tidak menghentikan pemuatan.

Untuk dump yang besar, jalankan klien di mesin yang sama dengan server, dan naikkan max_allowed_packet jika satu baris sangat besar.

IntoSQL Pro memuat file langsung ke MySQL dari aplikasi desktop atau command line, tanpa menulis skrip.

## Buat dump MySQL untuk hasil terbaik

Konverter membaca apa yang ada di dump. Opsi berikut membuat lebih banyak data Anda tetap ada di dalamnya:

- --default-character-set=utf8mb4 mempertahankan emoji dan karakter 4 byte lainnya, yang hilang di dump utf8 sebelum konverter melihatnya.
- --hex-blob menulis kolom biner sebagai heksadesimal, yang tetap utuh saat disalin antarsistem.
- --routines --triggers --events menambahkan objek-objek itu ke dump, sehingga laporan bisa mencantumkannya.

## Yang tidak dikonversi

View, trigger, procedure, fungsi, dan objek lain yang ditulis dalam bahasa MySQL sendiri dicantumkan di laporan berdasarkan nama, tidak pernah dibuang diam-diam, jadi Anda bisa memeriksa masing-masing dengan versi MySQL tujuan pemuatan sebelum membuatnya ulang.

## Pertanyaan tentang memindahkan MySQL antarversi

### Apakah dump saya diunggah?

Tidak. Konverter berjalan di browser Anda dan membaca dump dari disk Anda sepotong demi sepotong, jadi dump tidak pernah meninggalkan komputer Anda. Aplikasi desktop dan command line juga mengonversi di komputer Anda.

### Seberapa besar dump yang bisa dipakai?

Konverter tidak pernah menyimpan seluruh dump di memori: file dibaca dua kali, per rentang, dan skrip ditulis sambil berjalan. Dump berukuran beberapa gigabyte bisa dikonversi di browser, di aplikasi desktop, dan dengan command line.

### Apakah dump MariaDB bisa dibaca?

Ya. Dump dari mariadb-dump dan dari MariaDB 10.3 sampai 12 dikonversi dengan cara yang sama, termasuk kolom INET6, INET4, dan UUID milik MariaDB.

### Apa yang terjadi pada tanggal 0000-00-00?

MySQL mempertahankannya: skrip mengatur mode SQL yang menerima tanggal nol dan tanggal mustahil selama pemuatan, jadi semuanya masuk apa adanya.

### Apakah nilai AUTO_INCREMENT dipertahankan?

Ya. AUTO_INCREMENT tetap apa adanya, dan penghitung tabel berlanjut dari posisi terakhir di dump.

### Apakah TINYINT(1) menjadi boolean?

Tetap TINYINT(1), seperti di sumber, jadi setiap nilai mempertahankan angkanya.

### Bagaimana dengan stored procedure dan trigger?

Semuanya dicantumkan di laporan berdasarkan nama dan tidak dikonversi, jadi Anda bisa memeriksa masing-masing dengan versi MySQL tujuan pemuatan sebelum membuatnya ulang. ON UPDATE CURRENT_TIMESTAMP tetap apa adanya.

### Di versi MySQL mana skrip bisa dimuat?

MySQL 5.7 dan yang lebih baru. Setiap dump uji dimuat di 5.7 dan 9, dan berhenti di error pertama jika ada yang salah.

## Dari MySQL

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

## Ke MySQL

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

## Panduan dan setiap pasangan

- [Panduan migrasi MySQL ke MySQL](https://intosql.com/docs/migrations/mysql-to-mysql)
- [Tipe data MySQL ke MySQL](https://intosql.com/docs/types/mysql-to-mysql)
- [Setiap pasangan database](https://intosql.com/id/migrasi-database)
