---
title: "MySQL のダンプを別の MySQL バージョンへ"
description: "MySQL のダンプを読み込む先のバージョン用に変換。8.0 や 9 のダンプは 5.7 が受け付ける照合順序になります。同じテーブル、キー、データで、すべての変更をレポートします。"
canonical: https://intosql.com/ja/mysql-to-mysql
last_updated: 2026-10-15
---

# MySQL のダンプを別の MySQL バージョンへ

MySQL 5.5 から 9 の mysqldump、mysqlpump、phpMyAdmin、Adminer のダンプ (.sql または .sql.gz) をドロップすると、MySQL 5.7 以降で読み込めるスクリプトをダウンロードできます。utf8mb4_0900_ai_ci など MySQL 8 以降にしかない照合順序は utf8mb4_unicode_520_ci になり、すべての変更はレポートに記載されます。

[MySQL から MySQL への移行ガイド](https://intosql.com/docs/migrations/mysql-to-mysql)

[MySQL から MySQL へのデータ型](https://intosql.com/docs/types/mysql-to-mysql)

## ファイルとスクリプトで変わること

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

| ファイルでは | スクリプトでは | レポートの行 |
| --- | --- | --- |
| utf8mb4_0900_* and utf8mb4_uca1400_* collations | utf8mb4_unicode_520_ci (バイナリのものは utf8mb4_bin) | `collation_replaced` |
| zero, partial or impossible dates (0000-00-00, 2024-02-30) | 保持 |  |
| TIME | TIME、期間を含む |  |
| TINYINT(1), BOOL | TINYINT(1) |  |
| UNSIGNED and ZEROFILL | 保持 |  |
| ENUM and SET, the '' error value included | 保持 |  |
| JSON | JSON |  |
| NUL bytes in text | 保持 |  |
| AUTO_INCREMENT | テーブルのカウンター付きの AUTO_INCREMENT |  |
| MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dump | 列のインデックスと、テーブルに 1 つのカウンター | `myisam_group_autoincrement` |
| ON UPDATE CURRENT_TIMESTAMP | 保持 |  |
| generated columns | ソースと同じ VIRTUAL または STORED |  |
| generated columns with functions IntoSQL doesn't read | 普通の列 | `generated_not_translated` |
| INVISIBLE columns | 通常の列 | `invisible_column` |
| CHECK constraints | 保持 (MySQL 5.7 は構文を解析して無視します) |  |
| CHECK constraints with functions IntoSQL doesn't read | 作成しない | `check_skipped` |
| CHECK ... NOT ENFORCED | 作成しない | `check_not_enforced` |
| expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY | デフォルト値なし | `default_not_translated` |
| functional indexes, KEY ((expr)) | 作成しない | `index_skipped` |
| keys and indexes on a prefix, c(20) | 保持 |  |
| FULLTEXT indexes | 保持 |  |
| SPATIAL indexes | 保持 |  |
| foreign keys | 保持、FOREIGN_KEY_CHECKS=0 で読み込み |  |
| GEOMETRY, POINT, POLYGON... | 保持、各値の SRID 付き |  |
| INET4, INET6, UUID (MariaDB) | varchar(15), varchar(39), char(36) | `type_replaced` |
| BINARY, VARBINARY, BLOB | 保持 |  |
| PARTITION BY | 1 つのテーブル | `partitions_dropped` |
| WITH SYSTEM VERSIONING (MariaDB) | 現在の行を持つテーブル | `system_versioning_dropped` |
| Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB) | InnoDB | `engine_dropped` |
| CREATE SEQUENCE (MariaDB) | 作成しない | `sequence_not_converted` |
| views, triggers, procedures, functions and events | レポートに記載 | `not_converted_objects` |
| NOT NULL columns with values that become NULL | NOT NULL を削除 | `not_null_relaxed` |
| text that isn't valid in its character set | 不正なバイトを置換文字に | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | そのままコピー | `mojibake_suspected` |
| dumps without CREATE TABLE | 値から読み取った型 | `no_schema` |
| geometries in a dump without CREATE TABLE | GEOMETRY |  |
| SET NAMES utf8 from utf8mb4 tables | 変換し、警告を表示 | `dump_lost_four_byte_chars` |
| dumps without SET NAMES whose text isn't UTF-8 | Latin-1 (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 | 通常の行 | `replace_as_insert` |
| types IntoSQL doesn't know | LONGBLOB | `unknown_type` |
| values that don't fit their column | NULL | `invalid_value_null` |
| unreadable geometries | NULL | `bad_geometry` |
| TIMESTAMP | 保持、ダンプが示すタイムゾーンで読み込み |  |
| VECTOR(n) (MariaDB 11.7+) | 浮動小数点数の配列を持つ json | `type_replaced` |

## スクリプトを MySQL に読み込む

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

```shell
mysql --default-character-set=utf8mb4 mydb < mysql.mysql.sql
```

外部キーはダンプが宣言するとおりに作成し、行の読み込み中は FOREIGN_KEY_CHECKS=0 にするため、存在しない行を参照する行があっても読み込みは止まりません。

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

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

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

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

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

## 変換されないもの

ビュー、トリガー、プロシージャ、関数など MySQL 独自の言語で書かれたオブジェクトは、黙って削除されることなくレポートに名前で記載されます。読み込む先の MySQL のバージョンで確認してから作り直せます。

## MySQL のバージョン間の移行に関する質問

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

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

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

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

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

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

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

MySQL はそのまま保持します。スクリプトは読み込み中、ゼロや不正な日付を受け付ける SQL モードを設定するため、値はそのまま届きます。

### AUTO_INCREMENT の値は保持されますか？

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

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

変換元と同じく TINYINT(1) のままなので、すべての値が数値を保ちます。

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

レポートに名前で記載し、変換はしません。読み込む先の MySQL のバージョンで確認してから作り直せます。ON UPDATE CURRENT_TIMESTAMP はそのまま残ります。

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

MySQL 5.7 以降です。すべてのテスト用ダンプが 5.7 と 9 で読み込め、問題があれば最初のエラーで止まります。

## MySQL から

- [MySQL から PostgreSQL へ](https://intosql.com/ja/mysql-to-postgresql)
- [MySQL から MariaDB へ](https://intosql.com/ja/mysql-to-mariadb)
- [MySQL から SQLite へ](https://intosql.com/ja/mysql-to-sqlite)
- [MySQL から SQL Server へ](https://intosql.com/ja/mysql-to-sql-server)
- [MySQL から Oracle へ](https://intosql.com/ja/mysql-to-oracle)

## MySQL へ

- [MariaDB から MySQL へ](https://intosql.com/ja/mariadb-to-mysql)
- [PostgreSQL から MySQL へ](https://intosql.com/ja/postgresql-to-mysql)
- [SQL Server から MySQL へ](https://intosql.com/ja/sql-server-to-mysql)
- [SQLite から MySQL へ](https://intosql.com/ja/sqlite-to-mysql)
- [Oracle から MySQL へ](https://intosql.com/ja/oracle-to-mysql)

## ガイドとすべての組み合わせ

- [MySQL から MySQL への移行ガイド](https://intosql.com/docs/migrations/mysql-to-mysql)
- [MySQL から MySQL へのデータ型](https://intosql.com/docs/types/mysql-to-mysql)
- [すべてのデータベースの組み合わせ](https://intosql.com/ja/database-migration)
