文档解释
Error number: MY-010311; Symbol: ER_AUTHCACHE_PROXIES_PRIV_SKIPPED_NEEDS_RESOLVE; SQLSTATE: HY000
Message: ‘proxies_priv’ entry ‘%s@%s %s@%s’ ignored in –skip-name-resolve mode.
这是MySQL中一个比较常见的错误,错误号为ER_AUTHCACHE_PROXIES_PRIV_SKIPPED_NEEDS_RESOLVE,SQLSTATE:HY000,中文翻译为“需要解决的身份验证缓存代理私有SQL跳过”。
错误说明:
当MySQL Server收到一个包含需要私有SQL的身份验证缓存请求时,此错误会发生,意味着请求被缓存,而不是执行任何操作。这通常是因为服务器必须以某种方式解析peer_host_name,以便执行计划,而执行这一操作需要补充信息。
常见案例
这一错误常常会出现在两种情况下:
1.当使用基于SQL语句的身份验证时,MySQL会尝试缓存私有SQL以帮助性能提升,但当它碰到一个需要解析的协议头时,这项操作就可能会暂停,从而导致该错误的发生。
2.当MySQL Proxy正在运行时,收到一个请求也会引发这一错误,这是因为MySQL Proxy使用身份验证缓存,而请求又提交了一些它将无法处理的新项来替换进入缓存时使用的默认值。
解决方法:
1.若是第一种情况,可以通过将使用预先解析peer_host_name变量的连接类型更改为Named Pipe或其它形式来解决该问题。
2.若是第二种情况,可以在MySQL Proxy端重新配置参数来执行此操作。
此外,也可以尝试停止MySQL代理服务、删除所有被缓存的信息和重新启动Proxy,通常也能达到解决问题的目的。