MySQL8, monitorix でのエラー

MySQL8環境でmonitorixを入れると、以下のようなエラーが出力され、monitorixによるMySQLの監視ができなくなります。

ERROR: while updating /var/lib/monitorix/mysql.rrd: /var/lib/monitorix/mysql.rrd: expected timestamp not found in data source from N

ユーザー名もパスワードもあっているのに何故…と思っていたときにピンとひらめきました。

「そういえば、WordPressをインストールするときにもパスワードで引っかかったぞ」


MySQL8からパスワードの認証方式がかわりました
MySQL :: MySQL 8.0 Reference Manual :: 2.11.4 Changes in MySQL 8.0

これにより、WordPressのインストールも引っかかったので、monitorixもそうだろと思ったらビンゴでした。

解決策

下記を実行して、昔のmysql_native_passwordに変更します

alter user 'DBユーザー名'@'host名' identified with mysql_native_password by 'DBパスワード';