有时我查看我的MySQL日志,偶然发现了一些以明文形式显示密码的AES_ENCRYPT/AES_DECRYPT个请求。
如果我在PHP中创建日志,我可以delete。
但是MySQL general/slow query logs怎么样?他们的选项是否可用,或者是否可以设置一个不会保存在日志中的mySQL变量?
答案 0 :(得分:3)
不幸的是,我知道无法为单个语句禁用MySQL日志记录。 MySQL文档建议保持日志安全,原因如下:
来自5.2.3. The General Query Log
从MySQL 5.6.3开始,密码在语句中写入一般 查询日志由服务器重写,不会在字面上以简单方式发生 文本。对于常规查询日志,可以禁止密码重写 通过使用--log-raw选项启动服务器。这个选项可能是 用于诊断目的,以查看语句的确切文本 由服务器收到,但出于安全原因不建议使用 用于生产用途。
在MySQL 5.6.3之前,语句中的密码不会被重写 一般查询日志应该受到保护。见6.1.2.2节, “Administrator Guidelines for Password Security”。
不幸的是,(自5.6.3开始)内置的反密码日志记录仅适用于MySQL PASSWORD()函数。
我为您的问题找到了一些可能的解决方案: