👻

[MySQL]Collationの違いの解消

に公開

背景

MySQL8.0環境で作成されたSQLを
MariaDB[10.3.27-MariaDB]の環境に適用しようとした際に失敗した

エラー内容

[hogehoge@hugahuga ~]$ mysql -u root foo_db < piyopiyo.sql
ERROR 1273 (HY000) at line 25: Unknown collation: 'utf8mb4_0900_ai_ci'

環境

MariaDB [day_16_db]> SELECT VERSION();
+-----------------+
| VERSION()       |
+-----------------+
| 10.3.27-MariaDB |
+-----------------+
1 row in set (0.002 sec)

目的

その際の対処のメモを残す

実施内容

コレーションを合わせる

それぞれのコレーション

・ MySQL8.0系

utf8mb4_0900_ai_ci

・ MariaDB 10.3.27

utf8mb4_general_ci

新→旧verへ変換

・使用するコマンド

sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_general_ci/g' piyopiyo.sql

結果

エラーは起こらなくなった

[hogehoge@hugahuga ~]$ sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_general_ci/g' piyopiyo.sql
[hogehoge@hugahuga ~]$ mysql -u root foo_db < piyopiyo.sql
[hogehoge@hugahuga ~]$

Discussion