MySQL の旧文字コードを utf8mb4 へ安全に移行する

概要

文字コード移行は必ずバックアップと検証環境で行います。現在はutf8mb3や曖昧なutf8指定ではなくutf8mb4を明示します。

実施例

mysqldump --single-transaction --routines appdb > appdb-before-charset.sql
mysql appdb -e "ALTER TABLE articles CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;"
mysql appdb -e "SHOW FULL COLUMNS FROM articles;"

注意点

実データがlatin1として誤認識されているケースは別手順です。少量の実データで往復検証してから本番へ進めます。

参考: 公式ドキュメント

Comments