Een MySQL-dump verhuizen naar een oudere of nieuwere MySQL
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.
18 rijen geconverteerd, 2 correcties, geen afgewezen
Tabellen in shop_2024.sqlMySQL 8.0.46-dump · geschreven door mysqldump · utf8mb4
customers8 rijen1
7 kolommen id int unsigned not null name varchar(100) not null email varchar(150) not null country char(2) not null is_active tinyint(1) not null signed_up date not null created_at timestamp not null orders10 rijen1
9 kolommen id int unsigned not null customer_id int unsigned not null status enum('pending','paid','shipped','cancelled') not null total decimal(10,2) not null items smallint unsigned not null ordered_at datetime not null shipped_at datetime note varchar(255) updated_at timestamp not null
-- Written by IntoSQL from a MySQL dump. Load it with: mysql --default-character-set=utf8mb4 <database> < <file>
SET NAMES utf8mb4;
SET TIME_ZONE = '+00:00';
SET FOREIGN_KEY_CHECKS = 0;
SET UNIQUE_CHECKS = 0;
SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO,ALLOW_INVALID_DATES';
CREATE TABLE `customers` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`email` varchar(150) NOT NULL,
`country` char(2) NOT NULL DEFAULT 'US',
`is_active` tinyint(1) NOT NULL DEFAULT 1,
`signed_up` date NOT NULL DEFAULT '0000-00-00',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `uq_email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci COMMENT='People who bought at least once';
CREATE TABLE `orders` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`customer_id` int unsigned NOT NULL,
`status` enum('pending','paid','shipped','cancelled') NOT NULL DEFAULT 'pending',
`total` decimal(10,2) NOT NULL,
`items` smallint unsigned NOT NULL DEFAULT 1,
`ordered_at` datetime NOT NULL,
`shipped_at` datetime DEFAULT NULL,
`note` varchar(255) DEFAULT NULL,
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_customer` (`customer_id`),
KEY `idx_status_date` (`status`,`ordered_at`),
CONSTRAINT `fk_orders_customer` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5001 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
INSERT INTO `customers` (`id`,`name`,`email`,`country`,`is_active`,`signed_up`,`created_at`) VALUES (1,'Ana Martínez','ana@example.com','MX',1,'2023-01-15','2023-01-15 10:24:00'),(2,'Zoë Müller','zoe@example.de','DE',1,'2023-02-03','2023-02-03 08:11:42'),(3,'José Peña','jose@example.es','ES',0,'2023-03-21','2023-03-21 19:05:17'),(4,'李雷','lilei@example.cn','CN',1,'2023-05-09','2023-05-09 02:40:00'),(5,'Noah O\'Brien','noah@example.ie','IE',1,'0000-00-00','2023-06-30 14:00:00'),(6,'Amélie Laurent','amelie@example.fr','FR',1,'2024-01-02','2024-01-02 09:30:00'),(7,'Ravi Patel','ravi@example.in','IN',0,'2024-02-29','2024-02-29 23:59:59'),(8,'Sofia Rossi 🌻','sofia@example.it','IT',1,'2024-04-12','2024-04-12 12:12:12');
INSERT INTO `orders` (`id`,`customer_id`,`status`,`total`,`items`,`ordered_at`,`shipped_at`,`note`,`updated_at`) VALUES (1,1,'shipped',129.90,3,'2024-03-01 10:00:00','2024-03-02 16:30:00',NULL,'2024-03-02 16:30:00'),(2,2,'paid',54.00,1,'2024-03-02 11:15:00',NULL,'Gift wrap 🎁','2024-03-02 11:20:00'),(3,1,'cancelled',12.50,1,'2024-03-03 09:45:00',NULL,'Customer changed their mind','2024-03-03 10:00:00'),(4,4,'shipped',980.00,12,'2024-03-05 02:10:00','2024-03-07 08:00:00','请小心轻放','2024-03-07 08:00:00'),(5,5,'pending',45.75,2,'2024-03-08 17:20:00',NULL,'Leave at the door; ring twice','2024-03-08 17:20:00'),(6,6,'shipped',310.40,5,'2024-03-10 13:00:00','2024-03-11 09:00:00','Fragile: \"glass\"','2024-03-11 09:00:00'),(7,8,'paid',76.20,2,'2024-03-11 18:45:00',NULL,NULL,'2024-03-11 18:46:00'),(8,2,'',19.99,1,'2024-03-12 08:00:00',NULL,'Status lost in an old import','2024-03-12 08:00:00'),(9,3,'shipped',64.00,2,'2024-03-14 15:30:00','0000-00-00 00:00:00','Shipping date never recorded','2024-03-15 10:00:00'),(10,7,'paid',1499.00,1,'2024-03-15 21:05:00',NULL,'C:\\Users\\ravi\\invoice.pdf','2024-03-15 21:05:00');
SET UNIQUE_CHECKS = 1;
SET FOREIGN_KEY_CHECKS = 1;
Correcties
- customers gebruikt de collatie utf8mb4_0900_ai_ci, die MySQL niet heeft, dus het gebruikt utf8mb4_unicode_520_ci; tekst kan iets anders sorteren en vergelijken.
- orders gebruikt de collatie utf8mb4_0900_ai_ci, die MySQL niet heeft, dus het gebruikt utf8mb4_unicode_520_ci; tekst kan iets anders sorteren en vergelijken.
Je bestand wordt op deze computer omgezet en nooit geüpload.
Andere voorbeelden:
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.
utf8mb4_0900_* and utf8mb4_uca1400_* collations
utf8mb4_unicode_520_ci (utf8mb4_bin voor binaire)
MySQL kent de nieuwere collaties niet, de fout waardoor de meeste MySQL 8-dumps elders niet laden. unicode_520 volgt dezelfde Unicode-regels het nauwst.
Rapportregel: collation_replaced
zero, partial or impossible dates (0000-00-00, 2024-02-30)
behouden
Het script laadt met ALLOW_INVALID_DATES en zonder NO_ZERO_DATE, dus MySQL behoudt dezelfde waarden als de bron.
TIME
TIME, inclusief duren
Hetzelfde type, met hetzelfde bereik.
TINYINT(1), BOOL
TINYINT(1)
Hetzelfde type met dezelfde waarden.
UNSIGNED and ZEROFILL
behouden
Dezelfde typen.
ENUM and SET, the '' error value included
behouden
Dezelfde typen; het script laadt zonder strict mode, dus de foutwaarde laadt ongewijzigd.
JSON
JSON
MySQL leest dezelfde JSON-tekst.
NUL bytes in text
behouden
De waarde wordt gekopieerd met dezelfde escape die de bron gebruikte.
AUTO_INCREMENT
AUTO_INCREMENT met de teller van de tabel
De teller gaat verder waar de bron hem achterliet, de tellers per groep van MyISAM inbegrepen.
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
InnoDB telt een kolom alleen als die vooraan in een index staat, en één keer voor de hele tabel.
Rapportregel: myisam_group_autoincrement
ON UPDATE CURRENT_TIMESTAMP
behouden
Dezelfde clausule, met de fracties van een seconde van de kolom.
generated columns
VIRTUAL of STORED zoals in de bron
Dezelfde formule, term voor term vertaald.
generated columns with functions IntoSQL doesn't read
een gewone kolom
Een formule die IntoSQL niet kan lezen, levert een gewone kolom en een regel in het rapport op.
Rapportregel: generated_not_translated
INVISIBLE columns
gewone kolommen
MySQL heeft onzichtbare kolommen vanaf 8.0.23, MariaDB vanaf 10.3.
Rapportregel: invisible_column
CHECK constraints
behouden (MySQL 5.7 leest ze en negeert ze)
Dezelfde checks, term voor term vertaald.
CHECK constraints with functions IntoSQL doesn't read
niet aangemaakt
Een check die IntoSQL niet kan lezen, wordt weggelaten en gemeld.
Rapportregel: check_skipped
CHECK ... NOT ENFORCED
niet aangemaakt
MySQL 5.7 en MariaDB kunnen een check niet bewaren zonder hem toe te passen, en de rijen kunnen hem schenden.
Rapportregel: check_not_enforced
expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY
geen standaardwaarde
MySQL accepteert ze vanaf 8.0.13; het script laadt op 5.7, dus ze worden weggelaten en gemeld. MariaDB accepteert ze.
Rapportregel: default_not_translated
functional indexes, KEY ((expr))
niet aangemaakt
MySQL indexeert expressies vanaf 8.0.13 en MariaDB helemaal niet; een gegenereerde kolom met een index doet hetzelfde.
Rapportregel: index_skipped
keys and indexes on a prefix, c(20)
behouden
Dezelfde index.
FULLTEXT indexes
behouden
Dezelfde index; MATCH ... AGAINST werkt zoals voorheen.
SPATIAL indexes
behouden
Dezelfde index.
foreign keys
behouden, geladen met FOREIGN_KEY_CHECKS=0
Dezelfde sleutels; rijen laden zoals ze uit de brondump laadden.
GEOMETRY, POINT, POLYGON...
behouden, met de SRID van elke waarde
De eigen geometriebytes van de server worden gekopieerd, inclusief SRID.
INET4, INET6, UUID (MariaDB)
varchar(15), varchar(39), char(36)
MySQL heeft zulke typen niet; de tekst die MariaDB ervoor schrijft, blijft behouden.
Rapportregel: type_replaced
BINARY, VARBINARY, BLOB
behouden
Bytes blijven bytes.
PARTITION BY
één tabel
De rijen zijn dezelfde; partitioneer de tabel opnieuw als dat nodig is.
Rapportregel: partitions_dropped
WITH SYSTEM VERSIONING (MariaDB)
een tabel met de huidige rijen
Een dump bevat alleen de huidige rijen; MySQL heeft geen systeemversiebeheer.
Rapportregel: system_versioning_dropped
Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB)
InnoDB
MySQL heeft geen van deze engines. Elke andere engine blijft behouden.
Rapportregel: engine_dropped
CREATE SEQUENCE (MariaDB)
niet aangemaakt
MySQL heeft geen sequences.
Rapportregel: sequence_not_converted
views, triggers, procedures, functions and events
vermeld in het rapport
Ze worden vermeld zodat je ze opnieuw kunt maken; hun code noemt vaak de definer en serverfuncties.
Rapportregel: not_converted_objects
NOT NULL columns with values that become NULL
NOT NULL weggelaten
Een kolom waarvan waarden NULL moesten worden, kan NOT NULL niet houden, anders zou het laden stoppen.
Rapportregel: not_null_relaxed
text that isn't valid in its character set
de foute bytes als het vervangingsteken
Het script is UTF-8; bytes die dat niet zijn, zouden het laden stoppen.
Rapportregel: invalid_utf8_replaced
text decoded twice (ñ)
ongewijzigd gekopieerd
De dump bevat precies deze tekens, dus ze worden gekopieerd; het rapport wijst ze aan.
Rapportregel: mojibake_suspected
dumps without CREATE TABLE
typen afgeleid uit de waarden
Een dump gemaakt met --no-create-info bevat alleen rijen, dus de typen komen uit de waarden.
Rapportregel: no_schema
geometries in a dump without CREATE TABLE
GEOMETRY
Het geometrieformaat van MySQL wordt herkend aan de waarden.
SET NAMES utf8 from utf8mb4 tables
geconverteerd, met een waarschuwing
mysqldump van MySQL 5.x schrijft standaard 3-byte utf8 en vervangt elke emoji door een vraagteken voordat een converter het bestand ziet.
Rapportregel: dump_lost_four_byte_chars
dumps without SET NAMES whose text isn't UTF-8
gelezen als Latin-1 (Windows-1252)
latin1 in MySQL is Windows-1252, de gebruikelijke codering van zulke dumps.
Rapportregel: charset_guessed
sjis, cp932, gbk, big5 dumps
gelezen als UTF-8, met een waarschuwing
Deze coderingen worden nog niet gedecodeerd.
Rapportregel: unsupported_charset
UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows
geëvalueerd
Sommige dumptools schrijven waarden als deze aanroepen; ze worden gelezen als de waarden die ze opleveren.
other expressions in rows
NULL
Een converter die geen database draait, kan ze niet evalueren.
Rapportregel: expression_value
DEFAULT in VALUES
de standaardwaarde van de kolom
Een letterlijke standaardwaarde wordt in de rij gekopieerd.
Rapportregel: default_keyword_filled
DEFAULT in VALUES without a literal default
NULL
Er is geen waarde om te kopiëren.
Rapportregel: default_keyword_null
REPLACE and INSERT IGNORE
gewone rijen
Een dump heeft één rij per sleutel, dus de rijen zijn dezelfde.
Rapportregel: replace_as_insert
types IntoSQL doesn't know
LONGBLOB
Een blob bevat de bytes van elke waarde; wijzig het type na het laden.
Rapportregel: unknown_type
values that don't fit their column
NULL
Een beschadigde of met de hand geschreven dump kan waarden bevatten die de kolom niet aankan; ze worden NULL zodat de rest laadt.
Rapportregel: invalid_value_null
unreadable geometries
NULL
Bytes die geen geometrie zijn, kunnen niet als geometrie worden opgeslagen.
Rapportregel: bad_geometry
TIMESTAMP
behouden, geladen in de tijdzone die de dump vermeldt
Het script stelt dezelfde tijdzone in als de dump, dus elk moment is hetzelfde.
VECTOR(n) (MariaDB 11.7+)
json met de floats als array
MySQL 5.7 en 8.0 hebben geen vectortype; een JSON-array behoudt elke float op elke versie.
Rapportregel: type_replaced
| In het bestand | In het script | Rapportregel |
|---|---|---|
| utf8mb4_0900_* and utf8mb4_uca1400_* collations | utf8mb4_unicode_520_ci (utf8mb4_bin voor binaire)MySQL kent de nieuwere collaties niet, de fout waardoor de meeste MySQL 8-dumps elders niet laden. unicode_520 volgt dezelfde Unicode-regels het nauwst. | collation_replaced |
| zero, partial or impossible dates (0000-00-00, 2024-02-30) | behoudenHet script laadt met ALLOW_INVALID_DATES en zonder NO_ZERO_DATE, dus MySQL behoudt dezelfde waarden als de bron. | |
| TIME | TIME, inclusief durenHetzelfde type, met hetzelfde bereik. | |
| TINYINT(1), BOOL | TINYINT(1)Hetzelfde type met dezelfde waarden. | |
| UNSIGNED and ZEROFILL | behoudenDezelfde typen. | |
| ENUM and SET, the '' error value included | behoudenDezelfde typen; het script laadt zonder strict mode, dus de foutwaarde laadt ongewijzigd. | |
| JSON | JSONMySQL leest dezelfde JSON-tekst. | |
| NUL bytes in text | behoudenDe waarde wordt gekopieerd met dezelfde escape die de bron gebruikte. | |
| AUTO_INCREMENT | AUTO_INCREMENT met de teller van de tabelDe teller gaat verder waar de bron hem achterliet, de tellers per groep van MyISAM inbegrepen. | |
| 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 tabelInnoDB telt een kolom alleen als die vooraan in een index staat, en één keer voor de hele tabel. | myisam_group_autoincrement |
| ON UPDATE CURRENT_TIMESTAMP | behoudenDezelfde clausule, met de fracties van een seconde van de kolom. | |
| generated columns | VIRTUAL of STORED zoals in de bronDezelfde formule, term voor term vertaald. | |
| generated columns with functions IntoSQL doesn't read | een gewone kolomEen formule die IntoSQL niet kan lezen, levert een gewone kolom en een regel in het rapport op. | generated_not_translated |
| INVISIBLE columns | gewone kolommenMySQL heeft onzichtbare kolommen vanaf 8.0.23, MariaDB vanaf 10.3. | invisible_column |
| CHECK constraints | behouden (MySQL 5.7 leest ze en negeert ze)Dezelfde checks, term voor term vertaald. | |
| CHECK constraints with functions IntoSQL doesn't read | niet aangemaaktEen check die IntoSQL niet kan lezen, wordt weggelaten en gemeld. | check_skipped |
| CHECK ... NOT ENFORCED | niet aangemaaktMySQL 5.7 en MariaDB kunnen een check niet bewaren zonder hem toe te passen, en de rijen kunnen hem schenden. | check_not_enforced |
| expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY | geen standaardwaardeMySQL accepteert ze vanaf 8.0.13; het script laadt op 5.7, dus ze worden weggelaten en gemeld. MariaDB accepteert ze. | default_not_translated |
| functional indexes, KEY ((expr)) | niet aangemaaktMySQL indexeert expressies vanaf 8.0.13 en MariaDB helemaal niet; een gegenereerde kolom met een index doet hetzelfde. | index_skipped |
| keys and indexes on a prefix, c(20) | behoudenDezelfde index. | |
| FULLTEXT indexes | behoudenDezelfde index; MATCH ... AGAINST werkt zoals voorheen. | |
| SPATIAL indexes | behoudenDezelfde index. | |
| foreign keys | behouden, geladen met FOREIGN_KEY_CHECKS=0Dezelfde sleutels; rijen laden zoals ze uit de brondump laadden. | |
| GEOMETRY, POINT, POLYGON... | behouden, met de SRID van elke waardeDe eigen geometriebytes van de server worden gekopieerd, inclusief SRID. | |
| INET4, INET6, UUID (MariaDB) | varchar(15), varchar(39), char(36)MySQL heeft zulke typen niet; de tekst die MariaDB ervoor schrijft, blijft behouden. | type_replaced |
| BINARY, VARBINARY, BLOB | behoudenBytes blijven bytes. | |
| PARTITION BY | één tabelDe rijen zijn dezelfde; partitioneer de tabel opnieuw als dat nodig is. | partitions_dropped |
| WITH SYSTEM VERSIONING (MariaDB) | een tabel met de huidige rijenEen dump bevat alleen de huidige rijen; MySQL heeft geen systeemversiebeheer. | system_versioning_dropped |
| Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB) | InnoDBMySQL heeft geen van deze engines. Elke andere engine blijft behouden. | engine_dropped |
| CREATE SEQUENCE (MariaDB) | niet aangemaaktMySQL heeft geen sequences. | sequence_not_converted |
| views, triggers, procedures, functions and events | vermeld in het rapportZe worden vermeld zodat je ze opnieuw kunt maken; hun code noemt vaak de definer en serverfuncties. | not_converted_objects |
| NOT NULL columns with values that become NULL | NOT NULL weggelatenEen kolom waarvan waarden NULL moesten worden, kan NOT NULL niet houden, anders zou het laden stoppen. | not_null_relaxed |
| text that isn't valid in its character set | de foute bytes als het vervangingstekenHet script is UTF-8; bytes die dat niet zijn, zouden het laden stoppen. | invalid_utf8_replaced |
| text decoded twice (ñ) | ongewijzigd gekopieerdDe dump bevat precies deze tekens, dus ze worden gekopieerd; het rapport wijst ze aan. | mojibake_suspected |
| dumps without CREATE TABLE | typen afgeleid uit de waardenEen dump gemaakt met --no-create-info bevat alleen rijen, dus de typen komen uit de waarden. | no_schema |
| geometries in a dump without CREATE TABLE | GEOMETRYHet geometrieformaat van MySQL wordt herkend aan de waarden. | |
| SET NAMES utf8 from utf8mb4 tables | geconverteerd, met een waarschuwingmysqldump van MySQL 5.x schrijft standaard 3-byte utf8 en vervangt elke emoji door een vraagteken voordat een converter het bestand ziet. | dump_lost_four_byte_chars |
| dumps without SET NAMES whose text isn't UTF-8 | gelezen als Latin-1 (Windows-1252)latin1 in MySQL is Windows-1252, de gebruikelijke codering van zulke dumps. | charset_guessed |
| sjis, cp932, gbk, big5 dumps | gelezen als UTF-8, met een waarschuwingDeze coderingen worden nog niet gedecodeerd. | unsupported_charset |
| UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows | geëvalueerdSommige dumptools schrijven waarden als deze aanroepen; ze worden gelezen als de waarden die ze opleveren. | |
| other expressions in rows | NULLEen converter die geen database draait, kan ze niet evalueren. | expression_value |
| DEFAULT in VALUES | de standaardwaarde van de kolomEen letterlijke standaardwaarde wordt in de rij gekopieerd. | default_keyword_filled |
| DEFAULT in VALUES without a literal default | NULLEr is geen waarde om te kopiëren. | default_keyword_null |
| REPLACE and INSERT IGNORE | gewone rijenEen dump heeft één rij per sleutel, dus de rijen zijn dezelfde. | replace_as_insert |
| types IntoSQL doesn't know | LONGBLOBEen blob bevat de bytes van elke waarde; wijzig het type na het laden. | unknown_type |
| values that don't fit their column | NULLEen beschadigde of met de hand geschreven dump kan waarden bevatten die de kolom niet aankan; ze worden NULL zodat de rest laadt. | invalid_value_null |
| unreadable geometries | NULLBytes die geen geometrie zijn, kunnen niet als geometrie worden opgeslagen. | bad_geometry |
| TIMESTAMP | behouden, geladen in de tijdzone die de dump vermeldtHet script stelt dezelfde tijdzone in als de dump, dus elk moment is hetzelfde. | |
| VECTOR(n) (MariaDB 11.7+) | json met de floats als arrayMySQL 5.7 en 8.0 hebben geen vectortype; een JSON-array behoudt elke float op elke versie. | 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.
mysql --default-character-set=utf8mb4 mydb < mysql.mysql.sqlRefererende 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
Staat je vraag er niet bij? Schrijf ons via de contactpagina en een mens antwoordt. Contactpagina
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.