Mysql8 のデフォルトの文字セットは utf8mb4 で、ソート ルールは utf8mb4_0900_ai_ci です。Mysql8 データを Mysql5.7 にインポートする必要がある場合、 Mysql5.7 では utf8mb4_0900_ai_ci のソート規則がサポートされていないようですが、次の 2 つの方法で解決できます。
最初に Mysql8 データを SQL スクリプトとしてエクスポートし、次にエディタを使用して文字セットと照合順序を完全に置き換えることができます。この方法は、インポートする Mysql のバージョンがわからない人に適しており、必要に応じて変更できます。
開発段階では Mysql8 データベースを使用することがありますが、実際にオンラインになると、他のバージョンの Mysql データベースが使用されます。文字セットと照合順序の不一致の問題を回避するために、開発用 Mysql8 データベースの文字セットと照合順序を本番環境のデータベース バージョンと互換性を持たせることができます。
-- database_name = 你的库名 ALTER DATABASE `database_name` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
-- database_name = 你的库名 SELECT concat( "ALTER TABLE `", TABLE_NAME, "` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;" ) AS `target` FROM information_schema.TABLES WHERE table_schema = "databse_name"
上記の SQL を実行すると、テーブルの文字セットと照合ルール。それをコピーして再度実行するだけです。
Navicat を開き、データベースを選択し、[ツール] をクリックします–データ転送
クリックしますファイル上でエクスポートするバージョンを選択します
.sql ファイルを開きます
utf8mb4替换为utf8 utf8mb4_0900_ai_ci替换为utf8_general_ci utf8_croatian_ci替换为utf8_general_ci utf8mb4_general_ci替换为utf8_general_ci
以上がMysql8 から Mysql5.7 にデータをインポートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。