WordPressと

MySQL 8.0

宇都宮 諒(@ryo511)

WordBench羽田 第19回

2018-04-30

自己紹介

一休コンシェルジュ

  • 上質なホテル・旅館を紹介するメディア
  • powered by WordPress!

MySQL 8.0の変更点

  • 高負荷時のパフォーマンス改善
  • データ型の追加
  • 認証方式の変更
  • 日本語向けCollationの追加 <= 注目!

新しいCollation

  • utf8mb4_ja_0900_as_cs
    • 「はは」「ハハ」「ハハ」を区別しない
  • utf8mb4_ja_0900_as_cs_ks
    • ks=かなセンシティブ
    • 「はは」「ハハ」「ハハ」を区別する
  • かなセンシティブ以外は同じ
    • A != a
    • ハハ != パパ
    • 🍣 != 🍺
    • MySQL = MySQL

インストール

$ cd /tmp # 作業ディレクトリに移動
$ wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
$ sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb
$ sudo apt update
$ sudo apt install mysql-community-server
$ mysql --version
mysql  Ver 8.0.11 for Linux on x86_64 (MySQL Community Server - GPL)
  • ↑はUbuntu 16.04での手順
  • CentOSの場合も同様に、MySQLのリポジトリ追加が必要

WordPressで試す

  • インストール前にwp_config.phpに設定を書けばOK
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', 'utf8mb4_ja_0900_as_cs_ks');
  • インストール後のCOLLATION変更は全テーブルに対するALTER TABLEが必要

DEMO

Key Takeaways

  • utf8mb4_bin
    • 全部区別する
  • utf8mb4_ja_0900_as_cs_ks
    • 半角・全角を区別しない
  • utf8mb4_ja_0900_as_cs
    • ​半角・全角を区別しない
    • ひらがな・カタカナを区別しない