MySQL8系では、文字コードがデフォルトでutf8mb4に設定されていることを知った。
mysql> show variables like '%char%'; +--------------------------+--------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql-8.0/charsets/ | +--------------------------+--------------------------------+ 8 rows in set (0.01 sec)
MySQL5系では、デフォルトの文字コードがlatin1だったので、日本語を扱う場合は以下のように、my.cnfの設定で文字コードをUTF8に設定しなければならなかった。
[mysqld] character-set-server=utf8 [mysql] default-character-set=utf8 [client] default-character-set=utf8 [mysqldump] default-character-set=utf8
なので、公式のMySQL5系のDockerコンテナを拡張した独自のDockerコンテナを作ったりしていた。
github.com
MySQL8系からはこのような作業は不要ということになる。
嬉しい。