Pular para o conteúdo
Início do IntoSQL

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.

Seu arquivo
sqlshop_2024_mariadb.sqlArquivo de exemplo, 6,6 kB
Seu banco de dados

18 linhas convertidas, nenhuma correção, nenhuma rejeitada

Mostrar

Tabelas em shop_2024_mariadb.sqlDump do MariaDB 11.8.9-MariaDB-ubu2404 · gerado por mariadb-dump · utf8mb4

  • customers8 linhas
    8 colunas
    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 linhas
    12 colunas
    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;

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 arquivoNo scriptLinha do relatório
utf8mb4_0900_* and utf8mb4_uca1400_* collationsutf8mb4_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.
TIMETIME, incluindo duraçõesO mesmo tipo, com o mesmo intervalo.
TINYINT(1), BOOLTINYINT(1)O mesmo tipo com os mesmos valores.
UNSIGNED and ZEROFILLmantidoOs mesmos tipos.
ENUM and SET, the '' error value includedmantidoOs mesmos tipos; o script carrega sem o modo estrito, então o valor de erro carrega como está.
JSONJSON (LONGTEXT verificado pelo MariaDB)O MariaDB lê o mesmo texto JSON.
NUL bytes in textmantidoO valor é copiado com o mesmo escape que a origem usava.
AUTO_INCREMENTAUTO_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 dumpum í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_TIMESTAMPmantidoA mesma cláusula, com as frações de segundo da coluna.
generated columnsVIRTUAL ou STORED como na origemA mesma fórmula, traduzida termo a termo.
generated columns with functions IntoSQL doesn't readuma 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 columnscolunas INVISIBLEO MySQL tem colunas invisíveis a partir do 8.0.23, o MariaDB a partir do 10.3.
CHECK constraintsmantidoOs mesmos CHECKs, traduzidos termo a termo.
CHECK constraints with functions IntoSQL doesn't readnão criadoUm CHECK que o IntoSQL não consegue ler fica de fora e é informado.check_skipped
CHECK ... NOT ENFORCEDnã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 GEOMETRYmantidoO 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 indexesmantidoO mesmo índice; MATCH ... AGAINST funciona como antes.
SPATIAL indexesmantidoO mesmo índice.
foreign keysmantidas, 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, BLOBmantidoBytes continuam sendo bytes.
PARTITION BYuma 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 eventslistados 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 NULLNOT 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 setos 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 TABLEtipos 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 TABLEGEOMETRYO formato de geometria do MySQL é reconhecido pelos valores.
SET NAMES utf8 from utf8mb4 tablesconvertido, 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-8lido como Latin-1 (Windows-1252)O latin1 do MySQL é o Windows-1252, a codificação comum desses dumps.charset_guessed
sjis, cp932, gbk, big5 dumpslido 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 rowsavaliadasAlgumas ferramentas de dump escrevem valores como essas chamadas; elas são lidas como os valores que produzem.
other expressions in rowsNULLUm conversor que não executa um banco de dados não consegue avaliá-las.expression_value
DEFAULT in VALUESo valor padrão da colunaUm valor padrão literal é copiado para a linha.default_keyword_filled
DEFAULT in VALUES without a literal defaultNULLNão há valor para copiar.default_keyword_null
REPLACE and INSERT IGNORElinhas simplesUm dump tem uma linha por chave, então as linhas são as mesmas.replace_as_insert
types IntoSQL doesn't knowLONGBLOBUm blob guarda os bytes de qualquer valor; mude o tipo depois da carga.unknown_type
values that don't fit their columnNULLUm 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 geometriesNULLBytes que não são uma geometria não podem ser guardados como uma.bad_geometry
TIMESTAMPmantido, 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.sql

As 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.