---
title: "Przenieś zrzut MySQL do innej wersji MySQL"
description: "Konwertuj zrzut MySQL dla wersji MySQL, do której go ładujesz: zrzut z 8.0 lub 9 dostaje collation akceptowane przez 5.7. Te same tabele, klucze i dane, z raportem."
canonical: https://intosql.com/pl/mysql-do-mysql
last_updated: 2026-10-15
---

# Przenieś zrzut MySQL do innej wersji MySQL

Upuść zrzut z mysqldump, mysqlpump, phpMyAdmin lub Adminer, z MySQL od 5.5 do 9, jako .sql lub .sql.gz, i pobierz skrypt, który ładuje się na MySQL 5.7 i nowszych. Collation znane tylko MySQL 8 i nowszym, takie jak utf8mb4_0900_ai_ci, stają się utf8mb4_unicode_520_ci, a każda zmiana jest wymieniona w raporcie.

[Przewodnik migracji MySQL do MySQL](https://intosql.com/docs/migrations/mysql-to-mysql)

[Typy danych z MySQL do MySQL](https://intosql.com/docs/types/mysql-to-mysql)

## Co się zmienia między plikiem a skryptem

Każdy wiersz to reguła stosowana przez konwerter, z wpisem, który dodaje do raportu, gdy reguła coś zmienia w twoich danych.

| W pliku | W skrypcie | Wpis w raporcie |
| --- | --- | --- |
| utf8mb4_0900_* and utf8mb4_uca1400_* collations | utf8mb4_unicode_520_ci (utf8mb4_bin dla binarnych) | `collation_replaced` |
| zero, partial or impossible dates (0000-00-00, 2024-02-30) | zachowane |  |
| TIME | TIME, łącznie z czasami trwania |  |
| TINYINT(1), BOOL | TINYINT(1) |  |
| UNSIGNED and ZEROFILL | zachowane |  |
| ENUM and SET, the '' error value included | zachowane |  |
| JSON | JSON |  |
| NUL bytes in text | zachowane |  |
| AUTO_INCREMENT | AUTO_INCREMENT z licznikiem tabeli |  |
| MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dump | indeks na kolumnie i jeden licznik dla tabeli | `myisam_group_autoincrement` |
| ON UPDATE CURRENT_TIMESTAMP | zachowane |  |
| generated columns | VIRTUAL lub STORED jak w źródle |  |
| generated columns with functions IntoSQL doesn't read | zwykła kolumna | `generated_not_translated` |
| INVISIBLE columns | zwykłe kolumny | `invisible_column` |
| CHECK constraints | zachowane (MySQL 5.7 je parsuje i ignoruje) |  |
| CHECK constraints with functions IntoSQL doesn't read | nie jest tworzone | `check_skipped` |
| CHECK ... NOT ENFORCED | nie jest tworzone | `check_not_enforced` |
| expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY | brak wartości domyślnej | `default_not_translated` |
| functional indexes, KEY ((expr)) | nie jest tworzony | `index_skipped` |
| keys and indexes on a prefix, c(20) | zachowane |  |
| FULLTEXT indexes | zachowane |  |
| SPATIAL indexes | zachowane |  |
| foreign keys | zachowane, ładowane z FOREIGN_KEY_CHECKS=0 |  |
| GEOMETRY, POINT, POLYGON... | zachowane, z SRID każdej wartości |  |
| INET4, INET6, UUID (MariaDB) | varchar(15), varchar(39), char(36) | `type_replaced` |
| BINARY, VARBINARY, BLOB | zachowane |  |
| PARTITION BY | jedna tabela | `partitions_dropped` |
| WITH SYSTEM VERSIONING (MariaDB) | tabela z bieżącymi wierszami | `system_versioning_dropped` |
| Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB) | InnoDB | `engine_dropped` |
| CREATE SEQUENCE (MariaDB) | nie jest tworzone | `sequence_not_converted` |
| views, triggers, procedures, functions and events | wymienione w raporcie | `not_converted_objects` |
| NOT NULL columns with values that become NULL | NOT NULL usunięte | `not_null_relaxed` |
| text that isn't valid in its character set | błędne bajty jako znak zastępczy | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | skopiowane bez zmian | `mojibake_suspected` |
| dumps without CREATE TABLE | typy odczytane z wartości | `no_schema` |
| geometries in a dump without CREATE TABLE | GEOMETRY |  |
| SET NAMES utf8 from utf8mb4 tables | przekonwertowane, z ostrzeżeniem | `dump_lost_four_byte_chars` |
| dumps without SET NAMES whose text isn't UTF-8 | odczytane jako Latin-1 (Windows-1252) | `charset_guessed` |
| sjis, cp932, gbk, big5 dumps | odczytane jako UTF-8, z ostrzeżeniem | `unsupported_charset` |
| UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows | obliczone |  |
| other expressions in rows | NULL | `expression_value` |
| DEFAULT in VALUES | wartość domyślna kolumny | `default_keyword_filled` |
| DEFAULT in VALUES without a literal default | NULL | `default_keyword_null` |
| REPLACE and INSERT IGNORE | zwykłe wiersze | `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 | zachowane, ładowane w strefie czasowej podanej w zrzucie |  |
| VECTOR(n) (MariaDB 11.7+) | json z liczbami float jako tablicą | `type_replaced` |

## Załaduj skrypt do MySQL

Skrypt tworzy tabele, kopiuje wiersze, a potem dodaje klucze, indeksy i klucze obce, więc ładuje się szybko i zatrzymuje przy pierwszym błędzie.

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

Klucze obce są tworzone tak, jak deklaruje je zrzut, z FOREIGN_KEY_CHECKS=0 podczas ładowania wierszy, więc wiersz wskazujący na brakujący wiersz nie zatrzymuje ładowania.

Przy dużym zrzucie uruchom klienta na tej samej maszynie co serwer i zwiększ max_allowed_packet, jeśli pojedynczy wiersz jest bardzo duży.

IntoSQL Pro ładuje plik prosto do MySQL z aplikacji na komputer lub wiersza poleceń, bez pisania skryptu.

## Jak zrobić zrzut MySQL dla najlepszego wyniku

Konwerter odczytuje to, co zawiera zrzut. Te opcje zachowują w nim więcej twoich danych:

- --default-character-set=utf8mb4 zachowuje emoji i inne 4-bajtowe znaki, które zrzut utf8 traci, zanim zobaczy go konwerter.
- --hex-blob zapisuje kolumny binarne szesnastkowo, co przetrwa kopiowanie między systemami.
- --routines --triggers --events dodają te obiekty do zrzutu, aby raport mógł je wymienić.

## Co nie jest konwertowane

Widoki, wyzwalacze, procedury, funkcje i inne obiekty napisane we własnym języku MySQL są wymienione w raporcie z nazwy i nigdy nie są pomijane po cichu, więc możesz sprawdzić każdy z nich w wersji MySQL, do której ładujesz, zanim go odtworzysz.

## Pytania o przenoszenie MySQL między wersjami

### Czy mój zrzut jest wysyłany?

Nie. Konwerter działa w przeglądarce i odczytuje zrzut z dysku po kawałku, więc nigdy nie opuszcza on twojego komputera. Aplikacja na komputer i wiersz poleceń też konwertują na twoim komputerze.

### Jak duży może być zrzut?

Konwerter nigdy nie trzyma całego zrzutu w pamięci: czyta plik dwa razy, fragmentami, i zapisuje skrypt na bieżąco. Zrzuty wielogigabajtowe konwertują się w przeglądarce, w aplikacji na komputer i w wierszu poleceń.

### Czy odczytuje zrzuty MariaDB?

Tak. Zrzuty z mariadb-dump i z MariaDB od 10.3 do 12 są konwertowane tak samo, łącznie z kolumnami INET6, INET4 i UUID z MariaDB.

### Co dzieje się z datami 0000-00-00?

MySQL je zachowuje: skrypt na czas ładowania ustawia tryb SQL, który akceptuje daty zerowe i niemożliwe, więc trafiają bez zmian.

### Czy wartości AUTO_INCREMENT są zachowywane?

Tak. AUTO_INCREMENT zostaje bez zmian, a licznik tabeli kontynuuje od miejsca, w którym zostawił go zrzut.

### Czy TINYINT(1) staje się boolean?

Zostaje TINYINT(1), jak w źródle, więc każda wartość zachowuje swoją liczbę.

### A procedury składowane i wyzwalacze?

Raport wymienia je z nazwy, ale nie są konwertowane, więc możesz sprawdzić każdy z nich w wersji MySQL, do której ładujesz, zanim go odtworzysz. ON UPDATE CURRENT_TIMESTAMP zostaje bez zmian.

### Na jakich wersjach MySQL ładuje się skrypt?

MySQL 5.7 i nowsze. Każdy testowy zrzut ładuje się na 5.7 i 9, zatrzymując się na pierwszym błędzie, jeśli coś pójdzie nie tak.

## Z MySQL

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

## Do MySQL

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

## Przewodnik i każda para

- [Przewodnik migracji MySQL do MySQL](https://intosql.com/docs/migrations/mysql-to-mysql)
- [Typy danych z MySQL do MySQL](https://intosql.com/docs/types/mysql-to-mysql)
- [Każda para baz danych](https://intosql.com/pl/migracja-bazy-danych)
