mysqladminがdefaults-extra-fileを読んでくれない
logrotateでmysqlのログをローテーションさせたかったのだけど、
flush-logsできる権限持ったユーザーのパスワードを/etc/my.cnfに書いておくのは凄く嫌だったので、パスワードの部分だけ/root/.my.cnfに書いてそこから読むようにしたんだけど、こういうエラーが出た。
/usr/bin/mysqladmin: unknown variable 'defaults-extra-file=/root/.my.cnf'
なんでだ?と思ったけど/etc/logrotate.d/mysqlのなかでflush-logsしてるコマンドは以下のようだったのがいけなかった。
$ /usr/bin/mysqladmin --socket=/var/lib/mysql/mysql.sock --defaults-extra-file=/root/.my.cnf flush-logs
オプションの綴りも合ってるのだけどdefaults-extra-fileが一番最初に来てないとダメみたい。なのでsocket指定などは後ろにしないといけない。