本文へスキップ
IntoSQL ホーム

MySQL を MariaDB に変換

mysqldump、mariadb-dump、mysqlpump、phpMyAdmin、Adminer で作成したダンプ (.sql または .sql.gz) をドロップすると、同じテーブル、キー、インデックス、データを持つ MariaDB スクリプトをダウンロードできます。MariaDB がそのまま保持できない値と、引き継がないオブジェクトは、すべてレポートに記載されます。

ファイル
sqlshop_2024.sqlサンプルファイル、5.1 KB
データベース

18 行を変換、修正 2 件、却下なし

表示

shop_2024.sql のテーブルMySQL 8.0.46 のダンプ · mysqldump で作成 · utf8mb4

  • customers8 行1
    7 列
    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 行1
    9 列
    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;

修正

  1. customers は照合順序 utf8mb4_0900_ai_ci を使っていますが、MariaDB にはないため utf8mb4_unicode_520_ci を使います。テキストの並び順や比較が少し変わる場合があります。
  2. orders は照合順序 utf8mb4_0900_ai_ci を使っていますが、MariaDB にはないため utf8mb4_unicode_520_ci を使います。テキストの並び順や比較が少し変わる場合があります。

ファイルはこのコンピューター上で変換され、アップロードされることはありません。

その他のサンプル:

MySQL から MariaDB で変わること

各行はコンバーターが適用するルールです。ルールによってデータが変わったときにレポートに書かれる行も示します。

  • utf8mb4_0900_* and utf8mb4_uca1400_* collations

    utf8mb4_0900_* は utf8mb4_unicode_520_ci (バイナリのものは utf8mb4_bin)

    MariaDB は新しい照合順序を知りません。これが、多くの MySQL 8 のダンプが他の環境で読み込めない原因のエラーです。unicode_520 が同じ Unicode の規則に最も近い照合順序です。

    レポートの行: collation_replaced

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

    保持

    スクリプトは ALLOW_INVALID_DATES を有効にし、NO_ZERO_DATE なしで読み込むため、MariaDB はソースと同じ値を保持します。

  • TIME

    TIME、期間を含む

    同じ型で、範囲も同じです。

  • TINYINT(1), BOOL

    TINYINT(1)

    同じ型で、値も同じです。

  • UNSIGNED and ZEROFILL

    保持

    同じ型です。

  • ENUM and SET, the '' error value included

    保持

    同じ型です。スクリプトは strict モードなしで読み込むため、エラー値もそのまま入ります。

  • JSON

    JSON (MariaDB がチェックする LONGTEXT)

    MariaDB は同じ JSON テキストを読みます。

  • NUL bytes in text

    保持

    値は、ソースと同じエスケープでコピーします。

  • AUTO_INCREMENT

    テーブルのカウンター付きの AUTO_INCREMENT

    カウンターは、MyISAM のグループごとのカウンターも含め、ソースの続きから進みます。

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

    列のインデックスと、テーブルに 1 つのカウンター

    InnoDB が列を採番するのは、その列がインデックスの先頭にある場合だけで、カウンターはテーブル全体で 1 つです。

    レポートの行: myisam_group_autoincrement

  • ON UPDATE CURRENT_TIMESTAMP

    保持

    同じ句で、列の秒の小数部も同じです。

  • generated columns

    ソースと同じ VIRTUAL または STORED

    同じ式を、項ごとに変換します。

  • generated columns with functions IntoSQL doesn't read

    普通の列

    IntoSQL が読めない式は、普通の列とレポートの 1 行になります。

    レポートの行: generated_not_translated

  • INVISIBLE columns

    INVISIBLE 列

    非表示の列は MySQL では 8.0.23 から、MariaDB では 10.3 から使えます。

  • CHECK constraints

    保持

    同じチェック制約を、項ごとに変換します。

  • CHECK constraints with functions IntoSQL doesn't read

    作成しない

    IntoSQL が読めないチェック制約は省き、レポートに記載します。

    レポートの行: check_skipped

  • CHECK ... NOT ENFORCED

    作成しない

    MySQL 5.7 と MariaDB は、チェック制約を適用せずに保持することができず、違反する行がある可能性があります。

    レポートの行: check_not_enforced

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

    保持

    MySQL では 8.0.13 から使えます。スクリプトは 5.7 でも読み込めるよう、これらを省いてレポートに記載します。MariaDB では使えます。

    レポートの行: default_not_translated

  • functional indexes, KEY ((expr))

    作成しない

    MySQL は 8.0.13 から式にインデックスを作れますが、MariaDB は作れません。インデックス付きの生成列で同じことができます。

    レポートの行: index_skipped

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

    保持

    同じインデックスです。

  • FULLTEXT indexes

    保持

    同じインデックスです。MATCH ... AGAINST はこれまでどおり使えます。

  • SPATIAL indexes

    保持

    同じインデックスです。

  • foreign keys

    保持、FOREIGN_KEY_CHECKS=0 で読み込み

    同じキーです。行はソースのダンプと同じように読み込まれます。

  • GEOMETRY, POINT, POLYGON...

    保持、各値の SRID 付き

    サーバー自身のジオメトリのバイト列を、SRID を含めてコピーします。

  • INET4, INET6, UUID (MariaDB)

    保持

    MySQL にはこれらの型がありません。MariaDB がこれらに書き出すテキストを保持します。

  • BINARY, VARBINARY, BLOB

    保持

    バイトはバイトのままです。

  • PARTITION BY

    1 つのテーブル

    行は同じです。必要ならテーブルをもう一度パーティション分割してください。

    レポートの行: partitions_dropped

  • WITH SYSTEM VERSIONING (MariaDB)

    WITH SYSTEM VERSIONING、現在の行から開始

    ダンプには現在の行しか含まれません。MySQL にはシステムバージョニングがありません。

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

    保持

    MySQL にはこれらのエンジンがありません。他のエンジンはすべてそのままです。

  • CREATE SEQUENCE (MariaDB)

    次の値を持つ CREATE SEQUENCE

    MySQL にはシーケンスがありません。

  • views, triggers, procedures, functions and events

    レポートに記載

    作り直せるよう一覧にします。これらのコードには、定義者やサーバーの機能が書かれていることがよくあります。

    レポートの行: not_converted_objects

  • NOT NULL columns with values that become NULL

    NOT NULL を削除

    値を NULL にする必要があった列は NOT NULL を保てません。保つと読み込みが止まります。

    レポートの行: not_null_relaxed

  • text that isn't valid in its character set

    不正なバイトを置換文字に

    スクリプトは UTF-8 です。UTF-8 でないバイトがあると読み込みが止まります。

    レポートの行: invalid_utf8_replaced

  • text decoded twice (ñ)

    そのままコピー

    ダンプにはまさにこの文字が含まれているため、そのままコピーし、レポートで指摘します。

    レポートの行: mojibake_suspected

  • dumps without CREATE TABLE

    値から読み取った型

    --no-create-info で作成したダンプには行しかないため、型は値から決まります。

    レポートの行: no_schema

  • geometries in a dump without CREATE TABLE

    GEOMETRY

    MySQL のジオメトリ形式を値から認識します。

  • SET NAMES utf8 from utf8mb4 tables

    変換し、警告を表示

    MySQL 5.x の mysqldump は既定で 3 バイトの utf8 で書き出し、コンバーターがファイルを読む前にすべての絵文字を疑問符に置き換えます。

    レポートの行: dump_lost_four_byte_chars

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

    Latin-1 (Windows-1252) として読み込み

    MySQL の latin1 は Windows-1252 で、こうしたダンプでよく使われる文字コードです。

    レポートの行: charset_guessed

  • sjis, cp932, gbk, big5 dumps

    UTF-8 として読み込み、警告を表示

    これらの文字コードはまだデコードできません。

    レポートの行: unsupported_charset

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

    評価

    一部のダンプツールは値をこうした関数呼び出しとして書き出します。これらは生成される値として読み込みます。

  • other expressions in rows

    NULL

    データベースを実行しないコンバーターでは、これらを評価できません。

    レポートの行: expression_value

  • DEFAULT in VALUES

    列のデフォルト値

    リテラルのデフォルト値を行にコピーします。

    レポートの行: default_keyword_filled

  • DEFAULT in VALUES without a literal default

    NULL

    コピーする値がありません。

    レポートの行: default_keyword_null

  • REPLACE and INSERT IGNORE

    通常の行

    ダンプではキーごとに 1 行なので、行は同じです。

    レポートの行: replace_as_insert

  • types IntoSQL doesn't know

    LONGBLOB

    BLOB はどんな値のバイト列も保持できます。読み込み後に型を変更してください。

    レポートの行: unknown_type

  • values that don't fit their column

    NULL

    破損したダンプや手書きのダンプには、列が保持できない値が含まれることがあります。それらを NULL にして、残りを読み込みます。

    レポートの行: invalid_value_null

  • unreadable geometries

    NULL

    ジオメトリでないバイト列は、ジオメトリとして保存できません。

    レポートの行: bad_geometry

  • TIMESTAMP

    保持、ダンプが示すタイムゾーンで読み込み

    スクリプトはダンプと同じタイムゾーンを設定するため、すべての瞬間が同じになります。

  • VECTOR(n) (MariaDB 11.7+)

    浮動小数点数の配列を持つ json

    スクリプトは vector 型のない MariaDB 10.11 以降で読み込めます。JSON 配列はすべての浮動小数点数を保ち、VEC_FromText で読み戻せます。

    レポートの行: type_replaced

MySQL ではMariaDB ではレポートの行
utf8mb4_0900_* and utf8mb4_uca1400_* collationsutf8mb4_0900_* は utf8mb4_unicode_520_ci (バイナリのものは utf8mb4_bin)MariaDB は新しい照合順序を知りません。これが、多くの MySQL 8 のダンプが他の環境で読み込めない原因のエラーです。unicode_520 が同じ Unicode の規則に最も近い照合順序です。collation_replaced
zero, partial or impossible dates (0000-00-00, 2024-02-30)保持スクリプトは ALLOW_INVALID_DATES を有効にし、NO_ZERO_DATE なしで読み込むため、MariaDB はソースと同じ値を保持します。
TIMETIME、期間を含む同じ型で、範囲も同じです。
TINYINT(1), BOOLTINYINT(1)同じ型で、値も同じです。
UNSIGNED and ZEROFILL保持同じ型です。
ENUM and SET, the '' error value included保持同じ型です。スクリプトは strict モードなしで読み込むため、エラー値もそのまま入ります。
JSONJSON (MariaDB がチェックする LONGTEXT)MariaDB は同じ JSON テキストを読みます。
NUL bytes in text保持値は、ソースと同じエスケープでコピーします。
AUTO_INCREMENTテーブルのカウンター付きの AUTO_INCREMENTカウンターは、MyISAM のグループごとのカウンターも含め、ソースの続きから進みます。
MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dump列のインデックスと、テーブルに 1 つのカウンターInnoDB が列を採番するのは、その列がインデックスの先頭にある場合だけで、カウンターはテーブル全体で 1 つです。myisam_group_autoincrement
ON UPDATE CURRENT_TIMESTAMP保持同じ句で、列の秒の小数部も同じです。
generated columnsソースと同じ VIRTUAL または STORED同じ式を、項ごとに変換します。
generated columns with functions IntoSQL doesn't read普通の列IntoSQL が読めない式は、普通の列とレポートの 1 行になります。generated_not_translated
INVISIBLE columnsINVISIBLE 列非表示の列は MySQL では 8.0.23 から、MariaDB では 10.3 から使えます。
CHECK constraints保持同じチェック制約を、項ごとに変換します。
CHECK constraints with functions IntoSQL doesn't read作成しないIntoSQL が読めないチェック制約は省き、レポートに記載します。check_skipped
CHECK ... NOT ENFORCED作成しないMySQL 5.7 と MariaDB は、チェック制約を適用せずに保持することができず、違反する行がある可能性があります。check_not_enforced
expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY保持MySQL では 8.0.13 から使えます。スクリプトは 5.7 でも読み込めるよう、これらを省いてレポートに記載します。MariaDB では使えます。default_not_translated
functional indexes, KEY ((expr))作成しないMySQL は 8.0.13 から式にインデックスを作れますが、MariaDB は作れません。インデックス付きの生成列で同じことができます。index_skipped
keys and indexes on a prefix, c(20)保持同じインデックスです。
FULLTEXT indexes保持同じインデックスです。MATCH ... AGAINST はこれまでどおり使えます。
SPATIAL indexes保持同じインデックスです。
foreign keys保持、FOREIGN_KEY_CHECKS=0 で読み込み同じキーです。行はソースのダンプと同じように読み込まれます。
GEOMETRY, POINT, POLYGON...保持、各値の SRID 付きサーバー自身のジオメトリのバイト列を、SRID を含めてコピーします。
INET4, INET6, UUID (MariaDB)保持MySQL にはこれらの型がありません。MariaDB がこれらに書き出すテキストを保持します。
BINARY, VARBINARY, BLOB保持バイトはバイトのままです。
PARTITION BY1 つのテーブル行は同じです。必要ならテーブルをもう一度パーティション分割してください。partitions_dropped
WITH SYSTEM VERSIONING (MariaDB)WITH SYSTEM VERSIONING、現在の行から開始ダンプには現在の行しか含まれません。MySQL にはシステムバージョニングがありません。
Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB)保持MySQL にはこれらのエンジンがありません。他のエンジンはすべてそのままです。
CREATE SEQUENCE (MariaDB)次の値を持つ CREATE SEQUENCEMySQL にはシーケンスがありません。
views, triggers, procedures, functions and eventsレポートに記載作り直せるよう一覧にします。これらのコードには、定義者やサーバーの機能が書かれていることがよくあります。not_converted_objects
NOT NULL columns with values that become NULLNOT NULL を削除値を NULL にする必要があった列は NOT NULL を保てません。保つと読み込みが止まります。not_null_relaxed
text that isn't valid in its character set不正なバイトを置換文字にスクリプトは UTF-8 です。UTF-8 でないバイトがあると読み込みが止まります。invalid_utf8_replaced
text decoded twice (ñ)そのままコピーダンプにはまさにこの文字が含まれているため、そのままコピーし、レポートで指摘します。mojibake_suspected
dumps without CREATE TABLE値から読み取った型--no-create-info で作成したダンプには行しかないため、型は値から決まります。no_schema
geometries in a dump without CREATE TABLEGEOMETRYMySQL のジオメトリ形式を値から認識します。
SET NAMES utf8 from utf8mb4 tables変換し、警告を表示MySQL 5.x の mysqldump は既定で 3 バイトの utf8 で書き出し、コンバーターがファイルを読む前にすべての絵文字を疑問符に置き換えます。dump_lost_four_byte_chars
dumps without SET NAMES whose text isn't UTF-8Latin-1 (Windows-1252) として読み込みMySQL の latin1 は Windows-1252 で、こうしたダンプでよく使われる文字コードです。charset_guessed
sjis, cp932, gbk, big5 dumpsUTF-8 として読み込み、警告を表示これらの文字コードはまだデコードできません。unsupported_charset
UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows評価一部のダンプツールは値をこうした関数呼び出しとして書き出します。これらは生成される値として読み込みます。
other expressions in rowsNULLデータベースを実行しないコンバーターでは、これらを評価できません。expression_value
DEFAULT in VALUES列のデフォルト値リテラルのデフォルト値を行にコピーします。default_keyword_filled
DEFAULT in VALUES without a literal defaultNULLコピーする値がありません。default_keyword_null
REPLACE and INSERT IGNORE通常の行ダンプではキーごとに 1 行なので、行は同じです。replace_as_insert
types IntoSQL doesn't knowLONGBLOBBLOB はどんな値のバイト列も保持できます。読み込み後に型を変更してください。unknown_type
values that don't fit their columnNULL破損したダンプや手書きのダンプには、列が保持できない値が含まれることがあります。それらを NULL にして、残りを読み込みます。invalid_value_null
unreadable geometriesNULLジオメトリでないバイト列は、ジオメトリとして保存できません。bad_geometry
TIMESTAMP保持、ダンプが示すタイムゾーンで読み込みスクリプトはダンプと同じタイムゾーンを設定するため、すべての瞬間が同じになります。
VECTOR(n) (MariaDB 11.7+)浮動小数点数の配列を持つ jsonスクリプトは vector 型のない MariaDB 10.11 以降で読み込めます。JSON 配列はすべての浮動小数点数を保ち、VEC_FromText で読み戻せます。type_replaced

スクリプトを MariaDB に読み込む

スクリプトはテーブルを作成して行をコピーしてから、キー、インデックス、外部キーを追加します。そのため読み込みが速く、最初のエラーで止まります。

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

外部キーはダンプが宣言するとおりに作成し、mysqldump と同様に、行の読み込み中は FOREIGN_KEY_CHECKS=0 にします。

大きなダンプでは、サーバーと同じマシンでクライアントを実行し、1 行がとても大きい場合は max_allowed_packet を上げてください。

IntoSQL Pro なら、デスクトップアプリやコマンドラインからファイルを MariaDB に直接読み込めます。スクリプトを書き出す必要はありません。

MySQL を最適な方法でダンプする

コンバーターはダンプの内容を読み取ります。次のオプションを使うと、より多くのデータがダンプに残ります。

  • --default-character-set=utf8mb4 を使うと、絵文字などの 4 バイト文字が残ります。utf8 のダンプでは、コンバーターが読む前にこれらの文字が失われます。
  • --hex-blob はバイナリ列を 16 進数で書き出すため、システム間でコピーしても壊れません。
  • --routines --triggers --events を使うとこれらのオブジェクトがダンプに含まれ、レポートに一覧できます。

変換されないもの

ビュー、トリガー、ストアドプロシージャ、関数、イベントは、データベースごとに独自の言語で書かれます。黙って削除されることはなく、レポートに名前で一覧されるので、MariaDB 用に書き直せます。

MySQL から MariaDB への変換に関する質問

ここに答えがない場合は、お問い合わせページからご連絡ください。担当者が返信します。 お問い合わせページ

ダンプはアップロードされますか?

いいえ。コンバーターはブラウザ上で動作し、ダンプをディスクから少しずつ読み込むため、ダンプがコンピューターの外に出ることはありません。デスクトップアプリとコマンドラインも、お使いのコンピューター上で変換します。

ダンプはどのくらいの大きさまで扱えますか?

コンバーターはダンプ全体をメモリに保持しません。ファイルを範囲ごとに 2 回読み、読みながらスクリプトを書き出します。数 GB のダンプも、ブラウザ、デスクトップアプリ、コマンドラインで変換できます。

MariaDB のダンプも読み込めますか?

はい。mariadb-dump や MariaDB 10.3 から 12 のダンプも同じ方法で変換されます。MariaDB の INET6、INET4、UUID 列も対象です。

0000-00-00 の日付はどうなりますか?

MariaDB はそのまま保持します。スクリプトは読み込み中、ゼロ日付や存在しない日付を受け付ける SQL モードを設定するため、値はそのまま入ります。

AUTO_INCREMENT の値は保持されますか?

はい。AUTO_INCREMENT はそのままで、テーブルのカウンターはダンプの続きから進みます。

TINYINT(1) は boolean になりますか?

ソースと同じく TINYINT(1) のままなので、すべての値が数値を保ちます。

ストアドプロシージャやトリガーはどうなりますか?

変換はせず、レポートに名前で一覧するので、作り直す前に 1 つずつ MariaDB で確認できます。ON UPDATE CURRENT_TIMESTAMP はそのままです。

スクリプトはどの MariaDB バージョンで読み込めますか?

MariaDB 10.11 以降です。MySQL 5.7 から 9 と MariaDB のすべてのテスト用ダンプを 10.11 と 11.4 で読み込んでいます。