Vai al contenuto
Home di IntoSQL

Converti MySQL in MariaDB

Trascina un dump di mysqldump, mariadb-dump, mysqlpump, phpMyAdmin o Adminer, in .sql o .sql.gz, e scarica uno script MariaDB con le stesse tabelle, chiavi, indici e dati. Ogni valore che MariaDB non può contenere così com'è, e ogni oggetto che non supporta, è elencato nel report.

Il tuo file
sqlshop_2024.sqlFile di esempio, 5,1 kB
Il tuo database

18 righe convertite, 2 correzioni, nessuna rifiutata

Mostra

Tabelle in shop_2024.sqlDump MySQL 8.0.46 · scritto da mysqldump · utf8mb4

  • customers8 righe1
    7 colonne
    idint 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
  • orders10 righe1
    9 colonne
    idint unsigned not null
    customer_idint unsigned not null
    statusenum('pending','paid','shipped','cancelled') not null
    totaldecimal(10,2) not null
    itemssmallint unsigned not null
    ordered_atdatetime not null
    shipped_atdatetime
    notevarchar(255)
    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 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;

Correzioni

  1. customers usa la collation utf8mb4_0900_ai_ci, che MariaDB non ha, quindi usa utf8mb4_unicode_520_ci; il testo può essere ordinato e confrontato in modo un po' diverso.
  2. orders usa la collation utf8mb4_0900_ai_ci, che MariaDB non ha, quindi usa utf8mb4_unicode_520_ci; il testo può essere ordinato e confrontato in modo un po' diverso.

Il tuo file viene convertito su questo computer e non viene mai caricato.

Altri esempi:

Cosa cambia da MySQL a MariaDB

Ogni riga è una regola che il convertitore applica, con la riga del report che scrive quando la regola cambia qualcosa nei tuoi dati.

  • utf8mb4_0900_* and utf8mb4_uca1400_* collations

    utf8mb4_unicode_520_ci per utf8mb4_0900_* (utf8mb4_bin per quelle binarie)

    MariaDB non conosce le collation più recenti, l'errore che impedisce alla maggior parte dei dump di MySQL 8 di caricarsi altrove. unicode_520 segue più da vicino le stesse regole Unicode.

    Riga del report: collation_replaced

  • zero, partial or impossible dates (0000-00-00, 2024-02-30)

    mantenuto

    Lo script si carica con ALLOW_INVALID_DATES e senza NO_ZERO_DATE, quindi MariaDB mantiene gli stessi valori della sorgente.

  • TIME

    TIME, durate incluse

    Lo stesso tipo, con lo stesso intervallo.

  • TINYINT(1), BOOL

    TINYINT(1)

    Lo stesso tipo con gli stessi valori.

  • UNSIGNED and ZEROFILL

    mantenuto

    Gli stessi tipi.

  • ENUM and SET, the '' error value included

    mantenuto

    Gli stessi tipi; lo script si carica senza modalità strict, quindi il valore di errore si carica così com'è.

  • JSON

    JSON (LONGTEXT controllato da MariaDB)

    MariaDB legge lo stesso testo JSON.

  • NUL bytes in text

    mantenuto

    Il valore viene copiato con lo stesso escape usato dalla sorgente.

  • AUTO_INCREMENT

    AUTO_INCREMENT con il contatore della tabella

    Il contatore riparte da dove l'ha lasciato la sorgente, inclusi i contatori per gruppo di MyISAM.

  • MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dump

    un indice sulla colonna e un solo contatore per la tabella

    InnoDB conta una colonna solo quando apre un indice, e una sola volta per tutta la tabella.

    Riga del report: myisam_group_autoincrement

  • ON UPDATE CURRENT_TIMESTAMP

    mantenuto

    La stessa clausola, con le frazioni di secondo della colonna.

  • generated columns

    VIRTUAL o STORED come nella sorgente

    La stessa formula, tradotta termine per termine.

  • generated columns with functions IntoSQL doesn't read

    una colonna semplice

    Una formula che IntoSQL non sa leggere lascia una colonna semplice e una riga nel report.

    Riga del report: generated_not_translated

  • INVISIBLE columns

    colonne INVISIBLE

    MySQL ha colonne invisibili dalla 8.0.23, MariaDB dalla 10.3.

  • CHECK constraints

    mantenuto

    Gli stessi vincoli CHECK, tradotti termine per termine.

  • CHECK constraints with functions IntoSQL doesn't read

    non creato

    Un vincolo CHECK che IntoSQL non sa leggere viene omesso e segnalato.

    Riga del report: check_skipped

  • CHECK ... NOT ENFORCED

    non creati

    MySQL 5.7 e MariaDB non possono mantenere un vincolo CHECK senza applicarlo, e le righe potrebbero violarlo.

    Riga del report: check_not_enforced

  • expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY

    mantenuto

    MySQL li accetta dalla 8.0.13; lo script si carica sulla 5.7, quindi vengono omessi e segnalati. MariaDB li accetta.

    Riga del report: default_not_translated

  • functional indexes, KEY ((expr))

    non creato

    MySQL indicizza le espressioni dalla 8.0.13 e MariaDB per niente; una colonna generata con un indice fa lo stesso.

    Riga del report: index_skipped

  • keys and indexes on a prefix, c(20)

    mantenuto

    Lo stesso indice.

  • FULLTEXT indexes

    mantenuto

    Lo stesso indice; MATCH ... AGAINST funziona come prima.

  • SPATIAL indexes

    mantenuto

    Lo stesso indice.

  • foreign keys

    mantenute, caricate con FOREIGN_KEY_CHECKS=0

    Le stesse chiavi; le righe si caricano come dal dump di origine.

  • GEOMETRY, POINT, POLYGON...

    mantenuto, con lo SRID di ogni valore

    I byte di geometria propri del server vengono copiati, SRID incluso.

  • INET4, INET6, UUID (MariaDB)

    mantenuto

    MySQL non ha questi tipi; il testo che MariaDB scrive per loro viene mantenuto.

  • BINARY, VARBINARY, BLOB

    mantenuto

    I byte restano byte.

  • PARTITION BY

    una sola tabella

    Le righe sono le stesse; partiziona di nuovo la tabella se serve.

    Riga del report: partitions_dropped

  • WITH SYSTEM VERSIONING (MariaDB)

    WITH SYSTEM VERSIONING, a partire dalle righe attuali

    Un dump contiene solo le righe attuali; MySQL non ha il system versioning.

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

    mantenuto

    MySQL non ha nessuno di questi motori. Ogni altro motore viene mantenuto.

  • CREATE SEQUENCE (MariaDB)

    CREATE SEQUENCE con il suo valore successivo

    MySQL non ha sequenze.

  • views, triggers, procedures, functions and events

    elencati nel report

    Vengono elencati perché tu li ricrei; il loro codice spesso nomina il definer e funzioni del server.

    Riga del report: not_converted_objects

  • NOT NULL columns with values that become NULL

    NOT NULL rimosso

    Una colonna i cui valori sono dovuti diventare NULL non può mantenere NOT NULL, altrimenti il caricamento si fermerebbe.

    Riga del report: not_null_relaxed

  • text that isn't valid in its character set

    i byte errati come carattere di sostituzione

    Lo script è UTF-8; i byte che non lo sono fermerebbero il caricamento.

    Riga del report: invalid_utf8_replaced

  • text decoded twice (ñ)

    copiato così com'è

    Il dump contiene esattamente questi caratteri, quindi vengono copiati; il report li segnala.

    Riga del report: mojibake_suspected

  • dumps without CREATE TABLE

    tipi ricavati dai valori

    Un dump fatto con --no-create-info contiene solo righe, quindi i tipi vengono dai valori.

    Riga del report: no_schema

  • geometries in a dump without CREATE TABLE

    GEOMETRY

    Il formato delle geometrie di MySQL viene riconosciuto dai valori.

  • SET NAMES utf8 from utf8mb4 tables

    convertito, con un avviso

    mysqldump di MySQL 5.x scrive utf8 a 3 byte per impostazione predefinita e sostituisce ogni emoji con un punto interrogativo prima che un convertitore veda il file.

    Riga del report: dump_lost_four_byte_chars

  • dumps without SET NAMES whose text isn't UTF-8

    letto come Latin-1 (Windows-1252)

    Il latin1 di MySQL è Windows-1252, la codifica abituale di questi dump.

    Riga del report: charset_guessed

  • sjis, cp932, gbk, big5 dumps

    letto come UTF-8, con un avviso

    Queste codifiche non vengono ancora decodificate.

    Riga del report: unsupported_charset

  • UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows

    valutate

    Alcuni strumenti di dump scrivono i valori come queste chiamate; vengono letti come i valori che producono.

  • other expressions in rows

    NULL

    Un convertitore che non esegue un database non può valutarle.

    Riga del report: expression_value

  • DEFAULT in VALUES

    il valore predefinito della colonna

    Un valore predefinito letterale viene copiato nella riga.

    Riga del report: default_keyword_filled

  • DEFAULT in VALUES without a literal default

    NULL

    Non c'è nessun valore da copiare.

    Riga del report: default_keyword_null

  • REPLACE and INSERT IGNORE

    righe semplici

    Un dump ha una riga per chiave, quindi le righe sono le stesse.

    Riga del report: replace_as_insert

  • types IntoSQL doesn't know

    LONGBLOB

    Un blob contiene i byte di qualsiasi valore; cambia il tipo dopo il caricamento.

    Riga del report: unknown_type

  • values that don't fit their column

    NULL

    Un dump danneggiato o scritto a mano può contenere valori che la colonna non ammette; diventano NULL così il resto si carica.

    Riga del report: invalid_value_null

  • unreadable geometries

    NULL

    I byte che non sono una geometria non si possono salvare come tale.

    Riga del report: bad_geometry

  • TIMESTAMP

    mantenuto, caricato nel fuso orario indicato dal dump

    Lo script imposta lo stesso fuso orario del dump, quindi ogni istante resta lo stesso.

  • VECTOR(n) (MariaDB 11.7+)

    json con i float come array

    Lo script si carica su MariaDB 10.11 e successive, che non hanno un tipo vector; un array JSON mantiene ogni float, e VEC_FromText lo rilegge.

    Riga del report: type_replaced

In MySQLIn MariaDBRiga del report
utf8mb4_0900_* and utf8mb4_uca1400_* collationsutf8mb4_unicode_520_ci per utf8mb4_0900_* (utf8mb4_bin per quelle binarie)MariaDB non conosce le collation più recenti, l'errore che impedisce alla maggior parte dei dump di MySQL 8 di caricarsi altrove. unicode_520 segue più da vicino le stesse regole Unicode.collation_replaced
zero, partial or impossible dates (0000-00-00, 2024-02-30)mantenutoLo script si carica con ALLOW_INVALID_DATES e senza NO_ZERO_DATE, quindi MariaDB mantiene gli stessi valori della sorgente.
TIMETIME, durate incluseLo stesso tipo, con lo stesso intervallo.
TINYINT(1), BOOLTINYINT(1)Lo stesso tipo con gli stessi valori.
UNSIGNED and ZEROFILLmantenutoGli stessi tipi.
ENUM and SET, the '' error value includedmantenutoGli stessi tipi; lo script si carica senza modalità strict, quindi il valore di errore si carica così com'è.
JSONJSON (LONGTEXT controllato da MariaDB)MariaDB legge lo stesso testo JSON.
NUL bytes in textmantenutoIl valore viene copiato con lo stesso escape usato dalla sorgente.
AUTO_INCREMENTAUTO_INCREMENT con il contatore della tabellaIl contatore riparte da dove l'ha lasciato la sorgente, inclusi i contatori per gruppo di MyISAM.
MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dumpun indice sulla colonna e un solo contatore per la tabellaInnoDB conta una colonna solo quando apre un indice, e una sola volta per tutta la tabella.myisam_group_autoincrement
ON UPDATE CURRENT_TIMESTAMPmantenutoLa stessa clausola, con le frazioni di secondo della colonna.
generated columnsVIRTUAL o STORED come nella sorgenteLa stessa formula, tradotta termine per termine.
generated columns with functions IntoSQL doesn't readuna colonna sempliceUna formula che IntoSQL non sa leggere lascia una colonna semplice e una riga nel report.generated_not_translated
INVISIBLE columnscolonne INVISIBLEMySQL ha colonne invisibili dalla 8.0.23, MariaDB dalla 10.3.
CHECK constraintsmantenutoGli stessi vincoli CHECK, tradotti termine per termine.
CHECK constraints with functions IntoSQL doesn't readnon creatoUn vincolo CHECK che IntoSQL non sa leggere viene omesso e segnalato.check_skipped
CHECK ... NOT ENFORCEDnon creatiMySQL 5.7 e MariaDB non possono mantenere un vincolo CHECK senza applicarlo, e le righe potrebbero violarlo.check_not_enforced
expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRYmantenutoMySQL li accetta dalla 8.0.13; lo script si carica sulla 5.7, quindi vengono omessi e segnalati. MariaDB li accetta.default_not_translated
functional indexes, KEY ((expr))non creatoMySQL indicizza le espressioni dalla 8.0.13 e MariaDB per niente; una colonna generata con un indice fa lo stesso.index_skipped
keys and indexes on a prefix, c(20)mantenutoLo stesso indice.
FULLTEXT indexesmantenutoLo stesso indice; MATCH ... AGAINST funziona come prima.
SPATIAL indexesmantenutoLo stesso indice.
foreign keysmantenute, caricate con FOREIGN_KEY_CHECKS=0Le stesse chiavi; le righe si caricano come dal dump di origine.
GEOMETRY, POINT, POLYGON...mantenuto, con lo SRID di ogni valoreI byte di geometria propri del server vengono copiati, SRID incluso.
INET4, INET6, UUID (MariaDB)mantenutoMySQL non ha questi tipi; il testo che MariaDB scrive per loro viene mantenuto.
BINARY, VARBINARY, BLOBmantenutoI byte restano byte.
PARTITION BYuna sola tabellaLe righe sono le stesse; partiziona di nuovo la tabella se serve.partitions_dropped
WITH SYSTEM VERSIONING (MariaDB)WITH SYSTEM VERSIONING, a partire dalle righe attualiUn dump contiene solo le righe attuali; MySQL non ha il system versioning.
Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB)mantenutoMySQL non ha nessuno di questi motori. Ogni altro motore viene mantenuto.
CREATE SEQUENCE (MariaDB)CREATE SEQUENCE con il suo valore successivoMySQL non ha sequenze.
views, triggers, procedures, functions and eventselencati nel reportVengono elencati perché tu li ricrei; il loro codice spesso nomina il definer e funzioni del server.not_converted_objects
NOT NULL columns with values that become NULLNOT NULL rimossoUna colonna i cui valori sono dovuti diventare NULL non può mantenere NOT NULL, altrimenti il caricamento si fermerebbe.not_null_relaxed
text that isn't valid in its character seti byte errati come carattere di sostituzioneLo script è UTF-8; i byte che non lo sono fermerebbero il caricamento.invalid_utf8_replaced
text decoded twice (ñ)copiato così com'èIl dump contiene esattamente questi caratteri, quindi vengono copiati; il report li segnala.mojibake_suspected
dumps without CREATE TABLEtipi ricavati dai valoriUn dump fatto con --no-create-info contiene solo righe, quindi i tipi vengono dai valori.no_schema
geometries in a dump without CREATE TABLEGEOMETRYIl formato delle geometrie di MySQL viene riconosciuto dai valori.
SET NAMES utf8 from utf8mb4 tablesconvertito, con un avvisomysqldump di MySQL 5.x scrive utf8 a 3 byte per impostazione predefinita e sostituisce ogni emoji con un punto interrogativo prima che un convertitore veda il file.dump_lost_four_byte_chars
dumps without SET NAMES whose text isn't UTF-8letto come Latin-1 (Windows-1252)Il latin1 di MySQL è Windows-1252, la codifica abituale di questi dump.charset_guessed
sjis, cp932, gbk, big5 dumpsletto come UTF-8, con un avvisoQueste codifiche non vengono ancora decodificate.unsupported_charset
UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rowsvalutateAlcuni strumenti di dump scrivono i valori come queste chiamate; vengono letti come i valori che producono.
other expressions in rowsNULLUn convertitore che non esegue un database non può valutarle.expression_value
DEFAULT in VALUESil valore predefinito della colonnaUn valore predefinito letterale viene copiato nella riga.default_keyword_filled
DEFAULT in VALUES without a literal defaultNULLNon c'è nessun valore da copiare.default_keyword_null
REPLACE and INSERT IGNORErighe sempliciUn dump ha una riga per chiave, quindi le righe sono le stesse.replace_as_insert
types IntoSQL doesn't knowLONGBLOBUn blob contiene i byte di qualsiasi valore; cambia il tipo dopo il caricamento.unknown_type
values that don't fit their columnNULLUn dump danneggiato o scritto a mano può contenere valori che la colonna non ammette; diventano NULL così il resto si carica.invalid_value_null
unreadable geometriesNULLI byte che non sono una geometria non si possono salvare come tale.bad_geometry
TIMESTAMPmantenuto, caricato nel fuso orario indicato dal dumpLo script imposta lo stesso fuso orario del dump, quindi ogni istante resta lo stesso.
VECTOR(n) (MariaDB 11.7+)json con i float come arrayLo script si carica su MariaDB 10.11 e successive, che non hanno un tipo vector; un array JSON mantiene ogni float, e VEC_FromText lo rilegge.type_replaced

Carica lo script in MariaDB

Lo script crea le tabelle, copia le righe, poi aggiunge chiavi, indici e chiavi esterne, così si carica in fretta e si ferma al primo errore.

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

Le chiavi esterne vengono create come le dichiara il dump, con FOREIGN_KEY_CHECKS=0 mentre le righe si caricano, come fa mysqldump.

Per un dump grande, esegui il client sulla stessa macchina del server, e aumenta max_allowed_packet se una singola riga è molto grande.

IntoSQL Pro carica il file direttamente in MariaDB dall'app desktop o dalla riga di comando, senza scrivere uno script.

Fai il dump di MySQL per il miglior risultato

Il convertitore legge ciò che il dump contiene. Con queste opzioni il dump conserva più dei tuoi dati:

  • --default-character-set=utf8mb4 conserva emoji e altri caratteri a 4 byte, che un dump utf8 perde prima che il convertitore lo veda.
  • --hex-blob scrive le colonne binarie in esadecimale, che resiste alla copia tra sistemi diversi.
  • --routines --triggers --events aggiungono quegli oggetti al dump, così il report può elencarli.

Cosa non viene convertito

Viste, trigger, stored procedure, funzioni ed eventi sono scritti nel linguaggio proprio di ogni database. Sono elencati per nome nel report, mai rimossi in silenzio, così puoi riscriverli per MariaDB.

Domande sulla conversione da MySQL a MariaDB

Non trovi la risposta? Scrivici dalla pagina dei contatti e ti risponde una persona. Pagina dei contatti

Il mio dump viene caricato?

No. Il convertitore funziona nel tuo browser e legge il dump dal tuo disco a pezzi, quindi non lascia mai il tuo computer. Anche l'app desktop e la riga di comando convertono sul tuo computer.

Quanto può essere grande il dump?

Il convertitore non tiene mai l'intero dump in memoria: legge il file due volte, per intervalli, e scrive lo script man mano. I dump di più gigabyte si convertono nel browser, nell'app desktop e con la riga di comando.

Legge i dump di MariaDB?

Sì. I dump di mariadb-dump e di MariaDB dalla 10.3 alla 12 si convertono allo stesso modo, comprese le colonne INET6, INET4 e UUID di MariaDB.

Cosa succede alle date 0000-00-00?

MariaDB le mantiene: lo script imposta una modalità SQL che accetta date zero e impossibili durante il caricamento, quindi arrivano così come sono.

I valori AUTO_INCREMENT vengono mantenuti?

Sì. AUTO_INCREMENT resta com'è, e il contatore della tabella riparte da dove l'ha lasciato il dump.

TINYINT(1) diventa boolean?

Resta TINYINT(1), come nella sorgente, quindi ogni valore mantiene il suo numero.

E le stored procedure e i trigger?

Sono elencati per nome nel report e non vengono convertiti, così puoi verificare ognuno su MariaDB prima di ricrearlo. ON UPDATE CURRENT_TIMESTAMP resta com'è.

Su quali versioni di MariaDB si carica lo script?

MariaDB 10.11 e successive. Ogni dump di test si carica su 10.11 e 11.4, da MySQL 5.7 a 9 e da MariaDB.