MySQL Error number: MY-010330; Symbol: ER_AUTHCACHE_TABLES_PRIV_SKIPPED_NEEDS_RESOLVE; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-010330; Symbol: ER_AUTHCACHE_TABLES_PRIV_SKIPPED_NEEDS_RESOLVE; SQLSTATE: HY000
Message: ‘tables_priv’ entry ‘%s %s@%s’ ignored in –skip-name-resolve mode.
MY-010330:ER_AUTHCACHE_TABLES_PRIV_SKIPPED_NEEDS_RESOLVE:HY000
错误说明
ER_AUTHCACHE_TABLES_PRIV_SKIPPED_NEEDS_RESOLVE错误提示,在检查数据库账户权限时使用表和字段时发生错误,提示mysql无法查看特定表和字段的权限,因此无法确定该用户拥有哪些权限。
常见案例
这个错误通常发生在当MySQL检查端点用户的权限时,它会对认证表(比如mysql.user表)进行检查,以及每个用户的所有数据库表和列的权限(比如SELECT,INSERT,UPDATE,DELETE等)进行检查。但是,在MySQL实例的特定表和列的权限检查时,它有可能需要查看mysql.tables_priv和mysql.columns_priv表,但这两个表却为空,这时就会抛出ER_AUTHCACHE_TABLES_PRIV_SKIPPED_NEEDS_RESOLVE错误。
解决方法
1.为MySQL添加一个用户帐户,它能够访问mysql.tables_priv和mysql.columns_priv表。
2.确保MySQL服务正常运行,并且没有任何账户被锁定。
3.使用GRANT命令为用户帐户添加必要的权限;如:GRANT SELECTOnmysql.tables_privTO ‘username’@’localhost’.
4.尝试重置账户:FLUSH PRIVILEGES;
5.如果以上步骤仍不能解决问题,请尝试重置权限:RESET PRIVILEGES;
6.可以尝试将MySQL版本升级到最新版本。