MySQL 8 にアップグレードするにあたり問題がないかをチェックする。
utf8mb3 ( utf8 のエイリアス)は非推奨なので utf8mb4 を使用する。
utf8 は utf8mb3 のエイリアスです。文字制限は、名前に明示的ではなく暗黙的です。
utf8mb3 文字セットは非推奨であり、将来の MySQL リリースで削除される予定です。 かわりに utf8mb4 を使用してください。 utf8 は現在 utf8mb3 のエイリアスですが、ある時点では utf8 が utf8mb4 への参照になることが予想されます。 utf8 の意味があいまいにならないように、utf8 ではなく文字セット参照に utf8mb4 を明示的に指定することを検討してください。
ref. 10.9.2 utf8mb3 文字セット (3 バイトの UTF-8 Unicode エンコーディング)
MySQL 8 からデフォルト値が変更されたオプションがある。
| オプション名 | MySQL 5.7 デフォルト | MySQL 8.0 デフォルト | 
|---|---|---|
| character_set_server | latin1 | utf8mb4 | 
| collatoin_server | latin1_swedish_ci | utf8mb4_0900_ai_ci | 
| default_authentication_plugin | mysql_native_password | caching_sha2_password | 
| explicit_defaults_for_timestamp | OFF | ON | 
| local_infile | FALSE | TURE | 
| event_scheduler | OFF | ON | 
ref. 5.1.8 サーバーシステム変数
| オプション名 | 内容 | 
|---|---|
| sql_mode | MySQL のサポートする SQL 構文やデータの妥当性チェックなどの動作を定義 | 
| max_connection | MySQL サーバーへの最大接続数 | 
| lower_case_table_names | データベースオブジェクト名の大文字/小文字の識別方法の制御 | 
| time_zone | MySQL サーバーが動作するタイムゾーン |