MySQL Error number: MY-013436; Symbol: ER_AUDIT_LOG_CANNOT_STORE_PASSWORD; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-013436; Symbol: ER_AUDIT_LOG_CANNOT_STORE_PASSWORD; SQLSTATE: HY000
Message: Cannot store password: ‘%s’.
错误说明:
MySQL错误MY-013436指示一个变量错误。特别是,ER_AUDIT_LOG_CANNOT_STORE_PASSWORD错误意味着由于audit_log_filter_id设置为1无法将密码放入audit log中。 此变量仅在MySQL 8.0及更高版本中可用,默认值为0,用于阻止用于生成的审计日志的事件的字段中的敏感信息的存储,如密码。
常见案例
当MySQL 8.0+安装时,audit_log_filter_id被默认设置为1时,就会发送ER_AUDIT_LOG_CANNOT_STORE_PASSWORD错误。这很普遍发生在第一次从MySQL 配置管理员控制台设置审计选项时。比方说,运行以下命令以开始审计:
SET GLOBAL audit_log_filter_id=1;
此命令会激活审计选项,同时任何尝试从用户账户检索密码的审计日志语句都将失败,并显示ER_AUDIT_LOG_CANNOT_STORE_PASSWORD错误消息。
解决方法
此错误的解决方案取决于您是否愿意在审计日志中存储所有信息,包括用户密码。
如果您希望从审计日志中排除用户敏感信息,则可以保留audit_log_filter_id设置为1。这将避免用户在审计日志中存储敏感信息,如密码。
如果您想在审计日志中存储所有信息,则可以关闭audit_log_filter_id。要禁用此设置,请使用以下语句:
SET GLOBAL audit_log_filter_id=0;