TL;DR
- MySQL(MariaDB)の設定ファイルの拡張子は
.cnf
.conf
ではだめ。includedir
でもだめ。
経緯
サーバに直接インストールしていたZabbixを、Raspberry Pi4上のDockerコンテナに移行しました。以前x64上のDockerコンテナで稼働していたことがあるので構築はかんたんに済み、移行もOK。が、併せてZabbixのメジャーバージョンアップを行うとupgrade処理の途中でコケる。日本語を含むデータの変換で失敗している。
show variable like '%char%'
を実行すると、system,clinentがlatinになってる… 設定ファイルにはutf8mb4
を設定しているのになぜか反映されない。
設定ファイルconf/custom.conf
を/etc/mysql/conf.d
にマウントしていたのだが、VScodede拡張子を.cnf
に変えるとVScode上でファイルの認識が変わり、コンテナを再起動すると文字コードが正しく認識された。
公式サイトを見ればわかる話ではあるのですが、htmlファイルを.html
,.htm
のどちらでも認識するのと同じ感覚で…また、includedirに指定されたフォルダにおいていたので、読んでくれるだろうと思いこんでました。
この設定ファイルは以前Dockerコンテナで運用していた際に使用していたものでしたが、当時からバージョンアップがうまく行かない問題があり、これが原因だった可能性があります。
ちゃんと公式サイトを見ましょうというお話でした。