Leve um dump do MariaDB para um MariaDB mais antigo ou mais novo
Solte um dump do mariadb-dump, mysqldump, phpMyAdmin ou Adminer, como .sql ou .sql.gz, e baixe um script que carrega no MariaDB 10.11 ou posterior. UUID, INET4, INET6, JSON e sequências ficam como estão, VECTOR vira um array JSON dos seus números para versões anteriores à 11.7, e cada mudança é listada no relatório.
18 linhas convertidas, nenhuma correção, nenhuma rejeitada
Tabelas em shop_2024_mariadb.sqlDump do MariaDB 11.8.9-MariaDB-ubu2404 · gerado por mariadb-dump · utf8mb4
customers8 linhas
8 colunas id int(10) 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 last_ip inet6 orders10 linhas
12 colunas id int(10) unsigned not null customer_id int(10) unsigned not null status enum('pending','paid','shipped','cancelled') not null total decimal(10,2) not null items smallint(5) unsigned not null ordered_at datetime not null shipped_at datetime note varchar(255) order_ref uuid not null invoice int(11) not null details json updated_at timestamp 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;
Correções
Nada precisou de correção.
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 para utf8mb4_0900_* (utf8mb4_bin para as binárias)
O MariaDB 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 MariaDB 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 (LONGTEXT verificado pelo MariaDB)
O MariaDB 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 INVISIBLE
O MySQL tem colunas invisíveis a partir do 8.0.23, o MariaDB a partir do 10.3.
CHECK constraints
mantido
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
mantido
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)
mantido
O MySQL não tem esses tipos; o texto que o MariaDB escreve para eles é mantido.
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)
WITH SYSTEM VERSIONING, a partir das linhas atuais
Um dump contém só as linhas atuais; o MySQL não tem versionamento de sistema.
Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB)
mantido
O MySQL não tem nenhum desses mecanismos. Todos os outros mecanismos são mantidos.
CREATE SEQUENCE (MariaDB)
CREATE SEQUENCE com o próximo valor
O MySQL não tem sequências.
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 script carrega no MariaDB 10.11 e posteriores, que não têm tipo vector; um array JSON mantém cada float, e o VEC_FromText o lê de volta.
Linha do relatório: type_replaced
| No arquivo | No script | Linha do relatório |
|---|---|---|
| utf8mb4_0900_* and utf8mb4_uca1400_* collations | utf8mb4_unicode_520_ci para utf8mb4_0900_* (utf8mb4_bin para as binárias)O MariaDB 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 MariaDB 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 | JSON (LONGTEXT verificado pelo MariaDB)O MariaDB 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 INVISIBLEO MySQL tem colunas invisíveis a partir do 8.0.23, o MariaDB a partir do 10.3. | |
| CHECK constraints | mantidoOs 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 | mantidoO 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) | mantidoO MySQL não tem esses tipos; o texto que o MariaDB escreve para eles é mantido. | |
| 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) | WITH SYSTEM VERSIONING, a partir das linhas atuaisUm dump contém só as linhas atuais; o MySQL não tem versionamento de sistema. | |
| Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB) | mantidoO MySQL não tem nenhum desses mecanismos. Todos os outros mecanismos são mantidos. | |
| CREATE SEQUENCE (MariaDB) | CREATE SEQUENCE com o próximo valorO MySQL não tem sequências. | |
| 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 script carrega no MariaDB 10.11 e posteriores, que não têm tipo vector; um array JSON mantém cada float, e o VEC_FromText o lê de volta. | type_replaced |
Carregue o script no MariaDB
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.
mariadb --default-character-set=utf8mb4 mydb < mariadb.mariadb.sqlAs chaves estrangeiras são criadas como o dump as declara, com FOREIGN_KEY_CHECKS=0 enquanto as linhas carregam, como faz o mysqldump.
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 MariaDB pelo app para desktop ou pela linha de comando, sem escrever um script.
Gere o dump do MariaDB 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 utf8mb3 perde antes de o conversor vê-lo.
- --hex-blob escreve as colunas binárias e os valores VECTOR 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 MariaDB aparecem no relatório pelo nome, nunca são descartados em silêncio, para você conferir cada um com a versão do MariaDB em que vai carregar antes de recriá-lo.
Perguntas sobre levar o MariaDB 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.
De quais versões do MariaDB o dump pode vir?
Dumps do mariadb-dump e do mysqldump no MariaDB 10.3 ao 12, com um INSERT por tabela ou um por linha. Cada dump de teste vem do MariaDB 10.11, 11.4 e 11.8 e é comparado com a origem célula por célula.
As colunas UUID, INET6, JSON e VECTOR são mantidas?
UUID, INET4, INET6 e JSON ficam como estão. VECTOR vira um array JSON dos seus floats, porque o MariaDB antes do 11.7 não tem tipo vector; o VEC_FromText o lê de volta.
Os valores de AUTO_INCREMENT e as sequências são mantidos?
Sim. AUTO_INCREMENT e as sequências ficam como estão, e os valores padrão que tiram valores de uma sequência continuam tirando dela.
E os procedimentos armazenados e gatilhos?
Eles aparecem no relatório pelo nome e não são convertidos, para que você confira cada um no MariaDB em que vai carregar antes de recriá-lo.
Em quais versões do MariaDB o script carrega?
MariaDB 10.11 e posteriores, seja qual for a versão que gerou o dump. Cada dump de teste carrega no 10.11 e no 11.4.