Leve um dump do MySQL para um MySQL mais antigo ou mais novo
Solte um dump do mysqldump, mysqlpump, phpMyAdmin ou Adminer, do MySQL 5.5 ao 9, como .sql ou .sql.gz, e baixe um script que carrega no MySQL 5.7 ou posterior. Collations que só o MySQL 8 ou posterior conhece, como utf8mb4_0900_ai_ci, viram utf8mb4_unicode_520_ci, e cada mudança é listada no relatório.
18 linhas convertidas, 2 correções, nenhuma rejeitada
Tabelas em shop_2024.sqlDump do MySQL 8.0.46 · gerado por mysqldump · utf8mb4
customers8 linhas1
7 colunas 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 linhas1
9 colunas 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;
Correções
- customers usa a collation utf8mb4_0900_ai_ci, que o MySQL não tem, então usa utf8mb4_unicode_520_ci; o texto pode ser ordenado e comparado de forma um pouco diferente.
- orders usa a collation utf8mb4_0900_ai_ci, que o MySQL não tem, então usa utf8mb4_unicode_520_ci; o texto pode ser ordenado e comparado de forma um pouco diferente.
Seu arquivo é convertido neste computador e nunca é enviado.
Outros exemplos:
O que muda entre o arquivo e o script
Cada linha é uma regra que o conversor aplica, com a linha do relatório que ele escreve quando a regra muda algo nos seus dados.
utf8mb4_0900_* and utf8mb4_uca1400_* collations
utf8mb4_unicode_520_ci (utf8mb4_bin para as binárias)
O MySQL não conhece as collations mais novas, o erro que impede a maioria dos dumps do MySQL 8 de carregar em outro lugar. unicode_520 é a que segue mais de perto as mesmas regras Unicode.
Linha do relatório: collation_replaced
zero, partial or impossible dates (0000-00-00, 2024-02-30)
mantido
O script carrega com ALLOW_INVALID_DATES e sem NO_ZERO_DATE, então o MySQL mantém os mesmos valores que a origem tinha.
TIME
TIME, incluindo durações
O mesmo tipo, com o mesmo intervalo.
TINYINT(1), BOOL
TINYINT(1)
O mesmo tipo com os mesmos valores.
UNSIGNED and ZEROFILL
mantido
Os mesmos tipos.
ENUM and SET, the '' error value included
mantido
Os mesmos tipos; o script carrega sem o modo estrito, então o valor de erro carrega como está.
JSON
JSON
O MySQL lê o mesmo texto JSON.
NUL bytes in text
mantido
O valor é copiado com o mesmo escape que a origem usava.
AUTO_INCREMENT
AUTO_INCREMENT com o contador da tabela
O contador continua de onde a origem parou, incluindo os contadores por grupo do MyISAM.
MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dump
um índice na coluna e um contador para a tabela
O InnoDB só conta uma coluna quando ela começa um índice, e uma vez para a tabela toda.
Linha do relatório: myisam_group_autoincrement
ON UPDATE CURRENT_TIMESTAMP
mantido
A mesma cláusula, com as frações de segundo da coluna.
generated columns
VIRTUAL ou STORED como na origem
A mesma fórmula, traduzida termo a termo.
generated columns with functions IntoSQL doesn't read
uma coluna simples
Uma fórmula que o IntoSQL não consegue ler deixa uma coluna simples e uma linha no relatório.
Linha do relatório: generated_not_translated
INVISIBLE columns
colunas comuns
O MySQL tem colunas invisíveis a partir do 8.0.23, o MariaDB a partir do 10.3.
Linha do relatório: invisible_column
CHECK constraints
mantidos (o MySQL 5.7 os analisa e ignora)
Os mesmos CHECKs, traduzidos termo a termo.
CHECK constraints with functions IntoSQL doesn't read
não criado
Um CHECK que o IntoSQL não consegue ler fica de fora e é informado.
Linha do relatório: check_skipped
CHECK ... NOT ENFORCED
não criado
O MySQL 5.7 e o MariaDB não conseguem manter um CHECK sem aplicá-lo, e as linhas podem violá-lo.
Linha do relatório: check_not_enforced
expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY
sem valor padrão
O MySQL os aceita a partir do 8.0.13; o script carrega no 5.7, então eles ficam de fora e são informados. O MariaDB os aceita.
Linha do relatório: default_not_translated
functional indexes, KEY ((expr))
não criado
O MySQL indexa expressões a partir do 8.0.13 e o MariaDB nunca; uma coluna gerada com um índice faz o mesmo.
Linha do relatório: index_skipped
keys and indexes on a prefix, c(20)
mantido
O mesmo índice.
FULLTEXT indexes
mantido
O mesmo índice; MATCH ... AGAINST funciona como antes.
SPATIAL indexes
mantido
O mesmo índice.
foreign keys
mantidas, carregadas com FOREIGN_KEY_CHECKS=0
As mesmas chaves; as linhas carregam como carregavam a partir do dump de origem.
GEOMETRY, POINT, POLYGON...
mantido, com o SRID de cada valor
Os bytes de geometria do próprio servidor são copiados, incluindo o SRID.
INET4, INET6, UUID (MariaDB)
varchar(15), varchar(39), char(36)
O MySQL não tem esses tipos; o texto que o MariaDB escreve para eles é mantido.
Linha do relatório: type_replaced
BINARY, VARBINARY, BLOB
mantido
Bytes continuam sendo bytes.
PARTITION BY
uma tabela
As linhas são as mesmas; particione a tabela de novo se precisar.
Linha do relatório: partitions_dropped
WITH SYSTEM VERSIONING (MariaDB)
uma tabela com as linhas atuais
Um dump contém só as linhas atuais; o MySQL não tem versionamento de sistema.
Linha do relatório: system_versioning_dropped
Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB)
InnoDB
O MySQL não tem nenhum desses mecanismos. Todos os outros mecanismos são mantidos.
Linha do relatório: engine_dropped
CREATE SEQUENCE (MariaDB)
não criado
O MySQL não tem sequências.
Linha do relatório: sequence_not_converted
views, triggers, procedures, functions and events
listados no relatório
Eles são listados para você recriá-los; o código deles costuma citar o definer e recursos do servidor.
Linha do relatório: not_converted_objects
NOT NULL columns with values that become NULL
NOT NULL removido
Uma coluna cujos valores tiveram de virar NULL não pode manter NOT NULL, senão a carga pararia.
Linha do relatório: not_null_relaxed
text that isn't valid in its character set
os bytes inválidos como o caractere de substituição
O script é UTF-8; bytes que não são parariam a carga.
Linha do relatório: invalid_utf8_replaced
text decoded twice (ñ)
copiado como está
O dump contém exatamente esses caracteres, então eles são copiados; o relatório os aponta.
Linha do relatório: mojibake_suspected
dumps without CREATE TABLE
tipos deduzidos dos valores
Um dump feito com --no-create-info só tem linhas, então os tipos vêm dos valores.
Linha do relatório: no_schema
geometries in a dump without CREATE TABLE
GEOMETRY
O formato de geometria do MySQL é reconhecido pelos valores.
SET NAMES utf8 from utf8mb4 tables
convertido, com um aviso
O mysqldump do MySQL 5.x escreve utf8 de 3 bytes por padrão e troca cada emoji por um ponto de interrogação antes que qualquer conversor veja o arquivo.
Linha do relatório: dump_lost_four_byte_chars
dumps without SET NAMES whose text isn't UTF-8
lido como Latin-1 (Windows-1252)
O latin1 do MySQL é o Windows-1252, a codificação comum desses dumps.
Linha do relatório: charset_guessed
sjis, cp932, gbk, big5 dumps
lido como UTF-8, com um aviso
Essas codificações ainda não são decodificadas.
Linha do relatório: unsupported_charset
UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows
avaliadas
Algumas ferramentas de dump escrevem valores como essas chamadas; elas são lidas como os valores que produzem.
other expressions in rows
NULL
Um conversor que não executa um banco de dados não consegue avaliá-las.
Linha do relatório: expression_value
DEFAULT in VALUES
o valor padrão da coluna
Um valor padrão literal é copiado para a linha.
Linha do relatório: default_keyword_filled
DEFAULT in VALUES without a literal default
NULL
Não há valor para copiar.
Linha do relatório: default_keyword_null
REPLACE and INSERT IGNORE
linhas simples
Um dump tem uma linha por chave, então as linhas são as mesmas.
Linha do relatório: replace_as_insert
types IntoSQL doesn't know
LONGBLOB
Um blob guarda os bytes de qualquer valor; mude o tipo depois da carga.
Linha do relatório: unknown_type
values that don't fit their column
NULL
Um dump danificado ou escrito à mão pode conter valores que a coluna não aceita; eles viram NULL para que o resto carregue.
Linha do relatório: invalid_value_null
unreadable geometries
NULL
Bytes que não são uma geometria não podem ser guardados como uma.
Linha do relatório: bad_geometry
TIMESTAMP
mantido, carregado no fuso horário que o dump informa
O script define o mesmo fuso horário que o dump definiu, então cada instante é o mesmo.
VECTOR(n) (MariaDB 11.7+)
json com os floats como array
O MySQL 5.7 e o 8.0 não têm tipo vector; um array JSON mantém cada float em qualquer versão.
Linha do relatório: type_replaced
| No arquivo | No script | Linha do relatório |
|---|---|---|
| utf8mb4_0900_* and utf8mb4_uca1400_* collations | utf8mb4_unicode_520_ci (utf8mb4_bin para as binárias)O MySQL não conhece as collations mais novas, o erro que impede a maioria dos dumps do MySQL 8 de carregar em outro lugar. unicode_520 é a que segue mais de perto as mesmas regras Unicode. | collation_replaced |
| zero, partial or impossible dates (0000-00-00, 2024-02-30) | mantidoO script carrega com ALLOW_INVALID_DATES e sem NO_ZERO_DATE, então o MySQL mantém os mesmos valores que a origem tinha. | |
| TIME | TIME, incluindo duraçõesO mesmo tipo, com o mesmo intervalo. | |
| TINYINT(1), BOOL | TINYINT(1)O mesmo tipo com os mesmos valores. | |
| UNSIGNED and ZEROFILL | mantidoOs mesmos tipos. | |
| ENUM and SET, the '' error value included | mantidoOs mesmos tipos; o script carrega sem o modo estrito, então o valor de erro carrega como está. | |
| JSON | JSONO MySQL lê o mesmo texto JSON. | |
| NUL bytes in text | mantidoO valor é copiado com o mesmo escape que a origem usava. | |
| AUTO_INCREMENT | AUTO_INCREMENT com o contador da tabelaO contador continua de onde a origem parou, incluindo os contadores por grupo do MyISAM. | |
| MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dump | um índice na coluna e um contador para a tabelaO InnoDB só conta uma coluna quando ela começa um índice, e uma vez para a tabela toda. | myisam_group_autoincrement |
| ON UPDATE CURRENT_TIMESTAMP | mantidoA mesma cláusula, com as frações de segundo da coluna. | |
| generated columns | VIRTUAL ou STORED como na origemA mesma fórmula, traduzida termo a termo. | |
| generated columns with functions IntoSQL doesn't read | uma coluna simplesUma fórmula que o IntoSQL não consegue ler deixa uma coluna simples e uma linha no relatório. | generated_not_translated |
| INVISIBLE columns | colunas comunsO MySQL tem colunas invisíveis a partir do 8.0.23, o MariaDB a partir do 10.3. | invisible_column |
| CHECK constraints | mantidos (o MySQL 5.7 os analisa e ignora)Os mesmos CHECKs, traduzidos termo a termo. | |
| CHECK constraints with functions IntoSQL doesn't read | não criadoUm CHECK que o IntoSQL não consegue ler fica de fora e é informado. | check_skipped |
| CHECK ... NOT ENFORCED | não criadoO MySQL 5.7 e o MariaDB não conseguem manter um CHECK sem aplicá-lo, e as linhas podem violá-lo. | check_not_enforced |
| expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY | sem valor padrãoO MySQL os aceita a partir do 8.0.13; o script carrega no 5.7, então eles ficam de fora e são informados. O MariaDB os aceita. | default_not_translated |
| functional indexes, KEY ((expr)) | não criadoO MySQL indexa expressões a partir do 8.0.13 e o MariaDB nunca; uma coluna gerada com um índice faz o mesmo. | index_skipped |
| keys and indexes on a prefix, c(20) | mantidoO mesmo índice. | |
| FULLTEXT indexes | mantidoO mesmo índice; MATCH ... AGAINST funciona como antes. | |
| SPATIAL indexes | mantidoO mesmo índice. | |
| foreign keys | mantidas, carregadas com FOREIGN_KEY_CHECKS=0As mesmas chaves; as linhas carregam como carregavam a partir do dump de origem. | |
| GEOMETRY, POINT, POLYGON... | mantido, com o SRID de cada valorOs bytes de geometria do próprio servidor são copiados, incluindo o SRID. | |
| INET4, INET6, UUID (MariaDB) | varchar(15), varchar(39), char(36)O MySQL não tem esses tipos; o texto que o MariaDB escreve para eles é mantido. | type_replaced |
| BINARY, VARBINARY, BLOB | mantidoBytes continuam sendo bytes. | |
| PARTITION BY | uma tabelaAs linhas são as mesmas; particione a tabela de novo se precisar. | partitions_dropped |
| WITH SYSTEM VERSIONING (MariaDB) | uma tabela com as linhas atuaisUm dump contém só as linhas atuais; o MySQL não tem versionamento de sistema. | system_versioning_dropped |
| Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB) | InnoDBO MySQL não tem nenhum desses mecanismos. Todos os outros mecanismos são mantidos. | engine_dropped |
| CREATE SEQUENCE (MariaDB) | não criadoO MySQL não tem sequências. | sequence_not_converted |
| views, triggers, procedures, functions and events | listados no relatórioEles são listados para você recriá-los; o código deles costuma citar o definer e recursos do servidor. | not_converted_objects |
| NOT NULL columns with values that become NULL | NOT NULL removidoUma coluna cujos valores tiveram de virar NULL não pode manter NOT NULL, senão a carga pararia. | not_null_relaxed |
| text that isn't valid in its character set | os bytes inválidos como o caractere de substituiçãoO script é UTF-8; bytes que não são parariam a carga. | invalid_utf8_replaced |
| text decoded twice (ñ) | copiado como estáO dump contém exatamente esses caracteres, então eles são copiados; o relatório os aponta. | mojibake_suspected |
| dumps without CREATE TABLE | tipos deduzidos dos valoresUm dump feito com --no-create-info só tem linhas, então os tipos vêm dos valores. | no_schema |
| geometries in a dump without CREATE TABLE | GEOMETRYO formato de geometria do MySQL é reconhecido pelos valores. | |
| SET NAMES utf8 from utf8mb4 tables | convertido, com um avisoO mysqldump do MySQL 5.x escreve utf8 de 3 bytes por padrão e troca cada emoji por um ponto de interrogação antes que qualquer conversor veja o arquivo. | dump_lost_four_byte_chars |
| dumps without SET NAMES whose text isn't UTF-8 | lido como Latin-1 (Windows-1252)O latin1 do MySQL é o Windows-1252, a codificação comum desses dumps. | charset_guessed |
| sjis, cp932, gbk, big5 dumps | lido como UTF-8, com um avisoEssas codificações ainda não são decodificadas. | unsupported_charset |
| UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows | avaliadasAlgumas ferramentas de dump escrevem valores como essas chamadas; elas são lidas como os valores que produzem. | |
| other expressions in rows | NULLUm conversor que não executa um banco de dados não consegue avaliá-las. | expression_value |
| DEFAULT in VALUES | o valor padrão da colunaUm valor padrão literal é copiado para a linha. | default_keyword_filled |
| DEFAULT in VALUES without a literal default | NULLNão há valor para copiar. | default_keyword_null |
| REPLACE and INSERT IGNORE | linhas simplesUm dump tem uma linha por chave, então as linhas são as mesmas. | replace_as_insert |
| types IntoSQL doesn't know | LONGBLOBUm blob guarda os bytes de qualquer valor; mude o tipo depois da carga. | unknown_type |
| values that don't fit their column | NULLUm dump danificado ou escrito à mão pode conter valores que a coluna não aceita; eles viram NULL para que o resto carregue. | invalid_value_null |
| unreadable geometries | NULLBytes que não são uma geometria não podem ser guardados como uma. | bad_geometry |
| TIMESTAMP | mantido, carregado no fuso horário que o dump informaO script define o mesmo fuso horário que o dump definiu, então cada instante é o mesmo. | |
| VECTOR(n) (MariaDB 11.7+) | json com os floats como arrayO MySQL 5.7 e o 8.0 não têm tipo vector; um array JSON mantém cada float em qualquer versão. | type_replaced |
Carregue o script no MySQL
O script cria as tabelas, copia as linhas e depois adiciona chaves, índices e chaves estrangeiras, então carrega rápido e para no primeiro erro.
mysql --default-character-set=utf8mb4 mydb < mysql.mysql.sqlAs chaves estrangeiras são criadas como o dump as declara, com FOREIGN_KEY_CHECKS=0 enquanto as linhas carregam, então uma linha que aponta para uma linha que não existe não para a carga.
Para um dump grande, execute o cliente na mesma máquina do servidor e aumente max_allowed_packet se uma única linha for muito grande.
O IntoSQL Pro carrega o arquivo direto no MySQL pelo app para desktop ou pela linha de comando, sem escrever um script.
Gere o dump do MySQL para o melhor resultado
O conversor lê o que o dump contém. Estas opções mantêm mais dos seus dados nele:
- --default-character-set=utf8mb4 mantém emoji e outros caracteres de 4 bytes, que um dump em utf8 perde antes de o conversor vê-lo.
- --hex-blob escreve as colunas binárias em hexadecimal, o que sobrevive à cópia entre sistemas.
- --routines --triggers --events adicionam esses objetos ao dump, para que o relatório possa listá-los.
O que não é convertido
Views, triggers, procedures, funções e outros objetos escritos na própria linguagem do MySQL aparecem no relatório pelo nome, nunca são descartados em silêncio, para você conferir cada um com a versão do MySQL em que vai carregar antes de recriá-lo.
Perguntas sobre levar o MySQL entre versões
Não encontrou a resposta? Escreva para nós pela página de contato e uma pessoa responde. Página de contato
Meu dump é enviado?
Não. O conversor roda no seu navegador e lê o dump do seu disco em partes, então ele nunca sai do seu computador. O app para desktop e a linha de comando também convertem no seu computador.
Qual o tamanho máximo do dump?
O conversor nunca guarda o dump inteiro na memória: ele lê o arquivo duas vezes, por intervalos, e escreve o script à medida que avança. Dumps de vários gigabytes são convertidos no navegador, no app para desktop e com a linha de comando.
Ele lê dumps do MariaDB?
Sim. Dumps do mariadb-dump e do MariaDB 10.3 ao 12 são convertidos da mesma forma, incluindo as colunas INET6, INET4 e UUID do MariaDB.
O que acontece com datas 0000-00-00?
O MySQL as mantém: o script define um modo SQL que aceita datas zero e impossíveis durante a carga, então elas chegam como estão.
Os valores de AUTO_INCREMENT são mantidos?
Sim. AUTO_INCREMENT fica como está, e o contador da tabela continua de onde o dump parou.
TINYINT(1) vira boolean?
Continua TINYINT(1), como na origem, então cada valor mantém seu número.
E os procedimentos armazenados e gatilhos?
Aparecem no relatório pelo nome e não são convertidos, para você conferir cada um com a versão do MySQL em que vai carregar antes de recriá-lo. ON UPDATE CURRENT_TIMESTAMP fica como está.
Em quais versões do MySQL o script carrega?
MySQL 5.7 ou posterior. Cada dump de teste carrega no 5.7 e no 9, parando no primeiro erro se algo der errado.