MySQL Error number: 3136; Symbol: ER_VTOKEN_PLUGIN_TOKEN_MISMATCH; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: 3136; Symbol: ER_VTOKEN_PLUGIN_TOKEN_MISMATCH; SQLSTATE: HY000
Message: Version token mismatch for %.*s. Correct value %.*s
错误说明:
ER_VTOKEN_PLUGIN_TOKEN_MISMATCH是MySQL定义的错误号,指在MySQL服务器(8.0及以上版本)中,连接插件token和客户端/服务器口令不匹配的错误。该错误消息是指MySQL插件负责管理和传递用户凭证的连接通信过程中产生的错误。
常见案例
此错误常见于MySQL 8.0及以上版本。在登录MySQL时,使用连接插件凭据口令时,如果token和客户端/服务器口令不匹配,则会出现ER_VTOKEN_PLUGIN_TOKEN_MISMATCH错误。此外,如果账户被禁止访问,或者无法连接服务器,也会出现这个错误。
解决方法:
1. 首先确保您当前使用的用户具有访问数据库的权限。您可以通过以下命令确认:
SHOW GRANTS FOR ‘用户名’;
如果输出包含GRANT ALL PRIVILEGES行,则可以确定该用户可以访问数据库。
2. 检查您的MySQL配置,确保您启用了服务器口令验证功能。如果未启用,则可能会导致此错误。请运行以下命令检查:
SHOW VARIABLES LIKE ‘validate_password%’;
如果您看到validate_password_policy及其他变量的值为low,则表示服务器口令验证功能未启用。
3. 最后,更改MySQL账户的口令,以匹配客户端验证文件中的口令。您可以先重置账户的口令,然后重新同步客户端验证文件和服务器来解决错误。