ときどき MySQL ログを調べていると、パスワードがプレーンテキストで表示されているAES_ENCRYPT/AES_DECRYPTリクエストに出くわすことがあります。
PHP 内でログを作成すると、ログを削除できます。
しかし、MySQL の一般的な/遅いクエリ ログについてはどうでしょうか。それらのオプションは利用可能ですか、それともログに保存されない mySQL 変数を設定することは可能ですか?
ときどき MySQL ログを調べていると、パスワードがプレーンテキストで表示されているAES_ENCRYPT/AES_DECRYPTリクエストに出くわすことがあります。
PHP 内でログを作成すると、ログを削除できます。
しかし、MySQL の一般的な/遅いクエリ ログについてはどうでしょうか。それらのオプションは利用可能ですか、それともログに保存されない mySQL 変数を設定することは可能ですか?
残念ながら、個々のステートメントの MySQL ロギングを無効にする方法を私は知りません。MySQL のドキュメントでは、この理由からログを保護しておくことを推奨しています。
MySQL 5.6.3 の時点で、一般的なクエリ ログに書き込まれるステートメントのパスワードは、サーバーによって書き換えられ、文字どおりプレーン テキストでは発生しません。--log-raw オプションを指定してサーバーを起動すると、一般的なクエリ ログのパスワードの書き換えを抑制することができます。このオプションは、サーバーが受信したステートメントの正確なテキストを確認するための診断目的に役立ちますが、セキュリティ上の理由から、本番環境での使用はお勧めしません。
MySQL 5.6.3 より前では、ステートメント内のパスワードは書き換えられず、一般的なクエリ ログは保護する必要があります。セクション 6.1.2.2、「<a href="http://dev.mysql.com/doc/refman/5.1/en/password-security-admin.html" rel="nofollow">パスワード セキュリティに関する管理者ガイドライン」を参照してください。 .
残念ながら、(5.6.3 以降) 組み込みのアンチパスワード ロギングは、MySQL PASSWORD() 関数に対してのみ有効です。
あなたの問題に対していくつかの可能な解決策があります: