Error number: MY-010312; Symbol: ER_AUTHCACHE_PLUGIN_MISSING; SQLSTATE: HY000
Message: The plugin ‘%.*s’ used to authenticate user ‘%s’@’%.*s’ is not loaded. Nobody can currently login using this account.
错误说明:
MySQL 错误 MY-010312 (ER_AUTHCACHE_PLUGIN_MISSING),表示数据库管理员使用了提供缓存授权插件服务时,插件丢失。这个错误一般由于插件配置错误等原因导致,从而导致连接失败。
当一个错误,MY-010312,ER_AUTHCACHE_PLUGIN_MISSING,SQLSTATE:HY000(操作失败)发生时,通常是因为数据库管理员在加载MySQL服务时忘记添加提供缓存授权插件服务的插件,或者插件配置出现问题而导致该错误。
解决方法:
要解决MySQL该问题,首先需要确认插件是否被正确配置且有效。检查MySQL服务配置文件(my.cnf),是否使用了相应的插件,例如:auth_cache_plugin = “…/path/to/plugins/xxx/xxx.so”。另外,确定这个插件是否可以在MySQL/bin目录下找到,若可以找到,则可以使用下面的命令来载入这个插件:mysql> INSTALL PLUGIN auth_cache_plugin soname ‘xxx.so’;
将插件正确载入后,可以重新启动MySQL服务,如果插件仍然丢失或是插件配置有误,则应该检查下插件的内容是否有误,并重新配置或替换掉有误的插件。此外,可以使用SHOW PLUGINS命令检查当前已被载入的插件,若发现插件未被载入,则可以检查下这个插件是否有权限被加载,
另外,MySQL版本、库表与插件之间有着特定的兼容性。有一定概率是因为插件与MySQL服务版本不兼容而出现授权插件丢失错误。故在配置时应注意插件与MySQL服务版本之间的兼容性。