0. 環境

[MySQL] 8.0.17

1. 経緯

  • GCP無料枠のメモリ約500MBという貧弱な環境でWordPressを運用してます。

    少しでもパフォーマンス改善したく、MySQLのクエリキャッシュを設定しました。(下記要点のみ記載)

    # vim /etc/my.cnf.d/mysql-server.cnf
        :
        :
    [mysqld]
    query_cache_type=1
    query_cache_limit=1M
    query_cache_size=20M
    

    MySQLを再起動。

    # mysql -u hoge -phoge -e"SET GLOBAL innodb_fast_shutdown = 1"
    # service mysqld stop
    # service mysqld start
    

    起動しなくなりました…

    ログを見ると下記エラーが出てました。(要点のみ記載)

    # tail -F /var/log/mysql/mysqld.log
        :
        :
    [Server] unknown variable 'query_cache_type=1'.
    

2. 対応

  • ネットで情報を漁ったところ、MySQL8からはクエリキャッシュが使えなくなったようです。

    MySQL 8.0: Retiring Support for the Query Cache

    代わりにProxySQLというのが紹介されてましたが、ミドルウェアを追加するとメンテするポイントも増えるので今回は見送りました。

    一旦は、WordPressのプラグイン(WP Super Cache)とphp-fpmのチューニングで、DBより手前で何とかする方向で進めます。

3. 参考