-- 5.6.21 2014-10-07 19:38:03 23139 [Note] /usr/mysql/5.6.21/bin/mysqld: ready for connections. Version: '5.6.21-log' socket: '/usr/mysql/5.6.21/data/mysql.sock' port: 64056 Source distribution -- 5.7.5 141016 19:17:37 mysqld_safe Starting mysqld daemon with databases from /usr/mysql/5.7.5/data 2014-10-16T10:17:38.421845Z 0 [Warning] The syntax '--log_warnings/-W' is deprecated and will be removed in a future release. Please use '--log_error_verbosity' instead. 2014-10-16T10:17:38.422101Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2014-10-16T10:17:38.869037Z 0 [Warning] Failed to setup SSL 2014-10-16T10:17:38.869069Z 0 [Warning] SSL error: SSL context is not usable without certificate and private key
…あれ、これだけ?; と思ったら俺の設定が悪いせいだった。
$ vim my.cnf .. log-warnings= 1 ..
よかれと思って(いや、少なくとも悪さはしないので)このパラメーター指定していたんですが、コイツ5.7で少し意味合いが変わってます。
↑のエラーログにも書いてありますが、log_error_verbosityを代わりに使え! ってことで、log_warnings + 1の値が勝手にlog_error_verbosityにセットされます。
http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_log_warnings
log_error_verbosityは何者かというと、
Verbosity Value Message Types Logged 1 Errors only 2 Errors and warnings 3 Errors, warnings, and notes
http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_log_error_verbosity
正に名前の通り、ログレベルによって出力をフィルターしてくれるやつです。ログを書き出す関数はちゃんとログレベルを評価するようになってます。暗黙のデフォルトは3。
log-warningsが、「ほとんどのログには影響なくて、1以上の場合にのみ出力されるログがある」(=その関数を通らずに出力されるログがいっぱいあるというかほとんど)という超投げ遣りな意味合いだったのに比べて大きな違いです。
というわけで暗黙のデフォルト3がlog-warnings=1 => log_error_verbosity=2に上書きされて、Noteの出力を抑制するモードに…。。
よかれと思って取り敢えずつけてる人(俺も前職のころのクセでそうだった)がハマりそうな感じでした。ちゃんちゃん。
0 件のコメント :
コメントを投稿