default_password_lifetime = 360( < 5.7.11 )もう直ってる(?)から気にしなくても大丈夫ですよThis had been changed to 0, no problem‐MySQL Bugs: #77277: default_password_lifetimeshould be set 0 as implicit default valueThank you Morgan and MySQL Server Team!‐7/36
kamipoのハハ=パパ問題kamipo’s Mother-Father Issuemysql>SELECT * FROM families;+----+-----------+--------------+| id | name | relationship |+----+-----------+--------------+| 1 | ユイ | 本人 || 2 | キリト | パパ || 3 | アスナ | ハハ |+----+-----------+--------------+11/36
13.
kamipoのハハ=パパ問題kamipo’s Mother-Father IssueSELECT* FROM families WHERE relationship = 'パパ';+----+-----------+--------------+| id | name | relationship |+----+-----------+--------------+| 2 | キリト | パパ || 3 | アスナ | ハハ |+----+-----------+--------------+12/36
14.
kamipoのハハ=パパ問題kamipo’s Mother-Father Issue元々はActiveRecordでは明示的に照合順序を指定しない場合にcharsetutf8で照合順序 utf8_unicode_ci にしてしまってハハ=パパになるOriginally, this issue causes the default collation inActiveRecord when using charset utf8 was utf8_unicode_ci.‐UNICODEの仕様による 問題の派生This is caused by UCA 4.0.0, same as Sushi-Beer Issue‐ActiveRecordでデフォルトの照合順序を変更する13/36
15.
MySQL 8.0.1The defaultvalue of the character_set_server andcharacter_set_database system variables has changedfrom latin1 to utf8mb4.The default value of the collation_server andcollation_database system variables has changed fromlatin1_swedish_ci to utf8mb4_0900_ai_ci .MySQL :: MySQL 8.0 Release Notes :: Changes inMySQL 8.0.1 (2017-04-10, Development Milestone)14/36
16.
utf8mb4_0900_ai_ci0900 .. UnicodeCollation Algorithm 9.0.0ベースBased on UCA 9.0.0‐ai .. アクセントインセンシティブAccent insensitive‐ci .. 大文字小文字を区別しないCase insensitive‐15/36
utf8mb4_0900_ai_ciデフォルトではハハ=パパになるMother = Fatheris TRUE by default.‐病院も美容院になるHospital = Beauty parior is TRUE, too.‐= ではなくなった= is FALSE, this is correct.‐MySQL = MySQL(某WEBメディアにやさしい)MySQL = MySQL is TRUE‐17/36
そんな我々を救うために(?)日本語用の照合順序が新設されたCollation for Japaneselanguage has been impremented.utf8mb4_ja_0900_as_cs is the first Japanese language-specific collation available for Unicode in MySQL.MySQL :: MySQL 8.0 Release Notes :: Changes in MySQL8.0.1 (2017-04-10, Development Milestone)19/36
21.
utf8mb4_ja_0900_as_csja .. 日本語用ForJapanese language‐0900 .. Unicode Collation Algorithm 9.0.0ベースBased on UCA 9.0.0‐as .. アクセントセンシティブAccent sensitive‐cs .. 大文字小文字を区別するCase sensitive‐20/36
Collationscollation ハハ !=パパ びょういん != びよういん!= MySQL = MySQLutf8mb4_general_cio o x xutf8mb4_0900_ai_cix x o outf8mb4_ja_0900_as_cso o o outf8mb4_bin o o o x23/36
変更されたパラメーターChanged parametersinnodb_dedicated_server InnoDBのパラメーターいくつかが自動サイジングexpire_logs_days=30今までは0、binlog_expire_logs_secondsとは 足し算innodb_undo_tablespaces=2 ただし再起動だけでサクッと再作成してくれるinnodb_autoinc_lock_mode=2 binlog_format=STATEMENTだとレプリケーション壊れるlocal_infile=FALSE LOAD DATA LOCAL INFILEできないmaster_info_repository=TABLE master.infoファイルができなくなるrelay_log_info_repository=TABLE relay_log.infoファイルができなくなるsymbolic_links シンボリックリンク使えない29/36
31.
その他思うところThe others whichI had seen“ROLE” が予約語になった“ROLE” becomes reserved word‐前、SonarQubeさんがこれで死んだMy SonarQube raised error(1 years ago)‐TempTable Storage Engineって紹介されてる?What is TempTable Storage Engine?‐internal_tmp_mem_storage_engine = TempTable(Default) orMEMORYってなってるけどtemptable_max_ram = 1Gって大きくない?‐password_history は(今のところ)デフォルト0password_history is set to 0 (at least now)‐30/36
おまけAn additionちなみに次はMySQL 9.0.0?Willthe next MySQL be 9.0.0?‐MySQL Bugs: #79269: Failure of auth_socketauthentication with sha256_password as default35/36