Naar de inhoud
IntoSQL-startpagina

Een MariaDB-dump verhuizen naar een oudere of nieuwere MariaDB

Sleep een dump van mariadb-dump, mysqldump, phpMyAdmin of Adminer, als .sql of .sql.gz, hierheen en download een script dat laadt op MariaDB 10.11 en later. UUID, INET4, INET6, JSON en sequences blijven zoals ze zijn, VECTOR wordt een JSON-array van zijn floats voor versies vóór 11.7, en elke wijziging staat in het rapport.

Je bestand
sqlshop_2024_mariadb.sqlVoorbeeldbestand, 6,6 kB
Je database

18 rijen geconverteerd, geen correcties, geen afgewezen

Tonen

Tabellen in shop_2024_mariadb.sqlMariaDB 11.8.9-MariaDB-ubu2404-dump · geschreven door mariadb-dump · utf8mb4

  • customers8 rijen
    8 kolommen
    idint(10) unsigned not null
    namevarchar(100) not null
    emailvarchar(150) not null
    countrychar(2) not null
    is_activetinyint(1) not null
    signed_update not null
    created_attimestamp not null
    last_ipinet6
  • orders10 rijen
    12 kolommen
    idint(10) unsigned not null
    customer_idint(10) unsigned not null
    statusenum('pending','paid','shipped','cancelled') not null
    totaldecimal(10,2) not null
    itemssmallint(5) unsigned not null
    ordered_atdatetime not null
    shipped_atdatetime
    notevarchar(255)
    order_refuuid not null
    invoiceint(11) not null
    detailsjson
    updated_attimestamp not null
-- Written by IntoSQL from a MySQL dump. Load it with: mariadb --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 SEQUENCE `invoice_numbers` START WITH 1000 MINVALUE 1 MAXVALUE 9223372036854775806 INCREMENT BY 1;
SELECT SETVAL(`invoice_numbers`, 2000, 0);
CREATE TABLE `customers` (
  `id` int(10) 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,
  `last_ip` inet6 DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci COMMENT='People who bought at least once';

CREATE TABLE `orders` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `customer_id` int(10) unsigned NOT NULL,
  `status` enum('pending','paid','shipped','cancelled') NOT NULL DEFAULT 'pending',
  `total` decimal(10,2) NOT NULL,
  `items` smallint(5) unsigned NOT NULL DEFAULT 1,
  `ordered_at` datetime NOT NULL,
  `shipped_at` datetime DEFAULT NULL,
  `note` varchar(255) DEFAULT NULL,
  `order_ref` uuid NOT NULL,
  `invoice` int(11) NOT NULL DEFAULT (nextval(`invoice_numbers`)),
  `details` json 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_uca1400_ai_ci;

INSERT INTO `customers` (`id`,`name`,`email`,`country`,`is_active`,`signed_up`,`created_at`,`last_ip`) VALUES (1,'Ana Martínez','ana@example.com','MX',1,'2023-01-15','2023-01-15 10:24:00','::ffff:203.0.113.7'),(2,'Zoë Müller','zoe@example.de','DE',1,'2023-02-03','2023-02-03 08:11:42','2001:db8::1'),(3,'José Peña','jose@example.es','ES',0,'2023-03-21','2023-03-21 19:05:17',NULL),(4,'李雷','lilei@example.cn','CN',1,'2023-05-09','2023-05-09 02:40:00','::ffff:198.51.100.23'),(5,'Noah O\'Brien','noah@example.ie','IE',1,'0000-00-00','2023-06-30 14:00:00',NULL),(6,'Amélie Laurent','amelie@example.fr','FR',1,'2024-01-02','2024-01-02 09:30:00','2001:db8:85a3::8a2e:370:7334'),(7,'Ravi Patel','ravi@example.in','IN',0,'2024-02-29','2024-02-29 23:59:59','::ffff:192.0.2.200'),(8,'Sofia Rossi 🌻','sofia@example.it','IT',1,'2024-04-12','2024-04-12 12:12:12',NULL);
INSERT INTO `orders` (`id`,`customer_id`,`status`,`total`,`items`,`ordered_at`,`shipped_at`,`note`,`order_ref`,`invoice`,`details`,`updated_at`) VALUES (1,1,'shipped',129.90,3,'2024-03-01 10:00:00','2024-03-02 16:30:00',NULL,'0b7a4c2e-3f1d-4e8a-9c55-1a2b3c4d5e6f',1000,'{\"gift\": false}','2024-03-02 16:30:00'),(2,2,'paid',54.00,1,'2024-03-02 11:15:00',NULL,'Gift wrap 🎁','1c8b5d3f-4a2e-4f9b-8d66-2b3c4d5e6f70',1001,'{\"gift\": true, \"wrap\": \"red\"}','2024-03-02 11:20:00'),(3,1,'cancelled',12.50,1,'2024-03-03 09:45:00',NULL,'Customer changed their mind','2d9c6e4a-5b3f-4a0c-9e77-3c4d5e6f7081',1002,NULL,'2024-03-03 10:00:00'),(4,4,'shipped',980.00,12,'2024-03-05 02:10:00','2024-03-07 08:00:00','请小心轻放','3e0d7f5b-6c4a-4b1d-8f88-4d5e6f708192',1003,'{\"fragile\": true}','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','4f1e806c-7d5b-4c2e-9a99-5e6f708192a3',1004,NULL,'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\"','50f2917d-8e6c-4d3f-8baa-6f708192a3b4',1005,'{\"fragile\": true}','2024-03-11 09:00:00'),(7,8,'paid',76.20,2,'2024-03-11 18:45:00',NULL,NULL,'6103a28e-9f7d-4e40-9cbb-708192a3b4c5',1006,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','7214b39f-a08e-4f51-8dcc-8192a3b4c5d6',1007,NULL,'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','8325c4a0-b19f-4062-9edd-92a3b4c5d6e7',1008,'{\"parcels\": [1, 2]}','2024-03-15 10:00:00'),(10,7,'paid',1499.00,1,'2024-03-15 21:05:00',NULL,'C:\\Users\\ravi\\invoice.pdf','9436d5b1-c2a0-4173-8fee-a3b4c5d6e7f8',1009,NULL,'2024-03-15 21:05:00');

SET UNIQUE_CHECKS = 1;
SET FOREIGN_KEY_CHECKS = 1;

Correcties

Er hoefde niets gecorrigeerd te worden.

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 voor utf8mb4_0900_* (utf8mb4_bin voor binaire)

    MariaDB 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 MariaDB 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 (LONGTEXT gecontroleerd door MariaDB)

    MariaDB 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

    INVISIBLE-kolommen

    MySQL heeft onzichtbare kolommen vanaf 8.0.23, MariaDB vanaf 10.3.

  • CHECK constraints

    behouden

    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

    behouden

    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)

    behouden

    MySQL heeft zulke typen niet; de tekst die MariaDB ervoor schrijft, blijft behouden.

  • 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)

    WITH SYSTEM VERSIONING, vanaf de huidige rijen

    Een dump bevat alleen de huidige rijen; MySQL heeft geen systeemversiebeheer.

  • Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB)

    behouden

    MySQL heeft geen van deze engines. Elke andere engine blijft behouden.

  • CREATE SEQUENCE (MariaDB)

    CREATE SEQUENCE met de volgende waarde

    MySQL heeft geen sequences.

  • 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

    Het script laadt op MariaDB 10.11 en later, die geen vectortype hebben; een JSON-array behoudt elke float, en VEC_FromText leest hem terug.

    Rapportregel: type_replaced

In het bestandIn het scriptRapportregel
utf8mb4_0900_* and utf8mb4_uca1400_* collationsutf8mb4_unicode_520_ci voor utf8mb4_0900_* (utf8mb4_bin voor binaire)MariaDB 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 MariaDB behoudt dezelfde waarden als de bron.
TIMETIME, inclusief durenHetzelfde type, met hetzelfde bereik.
TINYINT(1), BOOLTINYINT(1)Hetzelfde type met dezelfde waarden.
UNSIGNED and ZEROFILLbehoudenDezelfde typen.
ENUM and SET, the '' error value includedbehoudenDezelfde typen; het script laadt zonder strict mode, dus de foutwaarde laadt ongewijzigd.
JSONJSON (LONGTEXT gecontroleerd door MariaDB)MariaDB leest dezelfde JSON-tekst.
NUL bytes in textbehoudenDe waarde wordt gekopieerd met dezelfde escape die de bron gebruikte.
AUTO_INCREMENTAUTO_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 dumpeen 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_TIMESTAMPbehoudenDezelfde clausule, met de fracties van een seconde van de kolom.
generated columnsVIRTUAL of STORED zoals in de bronDezelfde formule, term voor term vertaald.
generated columns with functions IntoSQL doesn't readeen gewone kolomEen formule die IntoSQL niet kan lezen, levert een gewone kolom en een regel in het rapport op.generated_not_translated
INVISIBLE columnsINVISIBLE-kolommenMySQL heeft onzichtbare kolommen vanaf 8.0.23, MariaDB vanaf 10.3.
CHECK constraintsbehoudenDezelfde checks, term voor term vertaald.
CHECK constraints with functions IntoSQL doesn't readniet aangemaaktEen check die IntoSQL niet kan lezen, wordt weggelaten en gemeld.check_skipped
CHECK ... NOT ENFORCEDniet 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 GEOMETRYbehoudenMySQL 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 indexesbehoudenDezelfde index; MATCH ... AGAINST werkt zoals voorheen.
SPATIAL indexesbehoudenDezelfde index.
foreign keysbehouden, 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)behoudenMySQL heeft zulke typen niet; de tekst die MariaDB ervoor schrijft, blijft behouden.
BINARY, VARBINARY, BLOBbehoudenBytes blijven bytes.
PARTITION BYéén tabelDe rijen zijn dezelfde; partitioneer de tabel opnieuw als dat nodig is.partitions_dropped
WITH SYSTEM VERSIONING (MariaDB)WITH SYSTEM VERSIONING, vanaf de huidige rijenEen dump bevat alleen de huidige rijen; MySQL heeft geen systeemversiebeheer.
Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB)behoudenMySQL heeft geen van deze engines. Elke andere engine blijft behouden.
CREATE SEQUENCE (MariaDB)CREATE SEQUENCE met de volgende waardeMySQL heeft geen sequences.
views, triggers, procedures, functions and eventsvermeld 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 NULLNOT 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 setde 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 TABLEtypen 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 TABLEGEOMETRYHet geometrieformaat van MySQL wordt herkend aan de waarden.
SET NAMES utf8 from utf8mb4 tablesgeconverteerd, 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-8gelezen als Latin-1 (Windows-1252)latin1 in MySQL is Windows-1252, de gebruikelijke codering van zulke dumps.charset_guessed
sjis, cp932, gbk, big5 dumpsgelezen als UTF-8, met een waarschuwingDeze coderingen worden nog niet gedecodeerd.unsupported_charset
UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rowsgeëvalueerdSommige dumptools schrijven waarden als deze aanroepen; ze worden gelezen als de waarden die ze opleveren.
other expressions in rowsNULLEen converter die geen database draait, kan ze niet evalueren.expression_value
DEFAULT in VALUESde standaardwaarde van de kolomEen letterlijke standaardwaarde wordt in de rij gekopieerd.default_keyword_filled
DEFAULT in VALUES without a literal defaultNULLEr is geen waarde om te kopiëren.default_keyword_null
REPLACE and INSERT IGNOREgewone rijenEen dump heeft één rij per sleutel, dus de rijen zijn dezelfde.replace_as_insert
types IntoSQL doesn't knowLONGBLOBEen blob bevat de bytes van elke waarde; wijzig het type na het laden.unknown_type
values that don't fit their columnNULLEen 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 geometriesNULLBytes die geen geometrie zijn, kunnen niet als geometrie worden opgeslagen.bad_geometry
TIMESTAMPbehouden, 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 arrayHet script laadt op MariaDB 10.11 en later, die geen vectortype hebben; een JSON-array behoudt elke float, en VEC_FromText leest hem terug.type_replaced

Het script in MariaDB 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.

mariadb --default-character-set=utf8mb4 mydb < mariadb.mariadb.sql

Refererende sleutels worden aangemaakt zoals de dump ze declareert, met FOREIGN_KEY_CHECKS=0 terwijl de rijen laden, zoals mysqldump doet.

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 MariaDB vanuit de desktopapp of de opdrachtregel, zonder een script te schrijven.

Een dump van MariaDB 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 utf8mb3-dump kwijtraakt voordat de converter hem ziet.
  • --hex-blob schrijft binaire kolommen en VECTOR-waarden 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 MariaDB staan op naam in het rapport en worden nooit stilletjes weggelaten, zodat je elk ervan kunt controleren tegen de MariaDB-versie waarin je laadt voordat je het opnieuw aanmaakt.

Vragen over MariaDB 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.

Van welke MariaDB-versies kan de dump komen?

Dumps van mariadb-dump en mysqldump op MariaDB 10.3 tot en met 12, met één INSERT per tabel of één per rij. Elke testdump komt van MariaDB 10.11, 11.4 en 11.8 en wordt cel voor cel met zijn bron vergeleken.

Blijven UUID-, INET6-, JSON- en VECTOR-kolommen behouden?

UUID, INET4, INET6 en JSON blijven zoals ze zijn. VECTOR wordt een JSON-array van zijn floats, omdat MariaDB vóór 11.7 geen vectortype heeft; VEC_FromText leest hem terug.

Blijven AUTO_INCREMENT-waarden en sequences behouden?

Ja. AUTO_INCREMENT en sequences blijven ongewijzigd, en standaardwaarden die een waarde uit een sequence halen, blijven dat doen.

En opgeslagen procedures en triggers?

Ze staan op naam in het rapport en worden niet geconverteerd, zodat je elk ervan kunt toetsen aan de MariaDB waarin je laadt voordat je het opnieuw maakt.

Op welke MariaDB-versies laadt het script?

MariaDB 10.11 en later, welke versie de dump ook schreef. Elke testdump laadt op 10.11 en 11.4.