我正在尝试将 Visual Studio Code 连接到数据库。
我在 MySQL 服务器(社区版)上创建了一个数据库,但是遇到了以下错误:
MySQL 错误:错误:ER_NOT_SUPPORTED_AUTH_MODE:客户端不支持服务器请求的身份验证协议;考虑在 Handshake.Sequence._packetToError 处升级 MySQL 客户端
我该如何修复它?
答案1
可以通过在 MySQL Community 上运行两个代码选项中的任意一个作为查询来解决此问题。从实现上讲,MySQL 8.0 使用了一个新的默认身份验证插件 -缓存_sha2_密码 而 MySQL 5.7 使用了不同的版本 -mysql_native_password。目前,社区版 MySQL Visual Studio Code 不支持新服务器插件的兼容客户端身份验证机制。
一种可能的解决方法是改变用户帐户的类型以使用旧的身份验证插件:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';
或者创建一个使用相同插件的其他插件:
创建用户'foo'@'localhost',使用mysql_native_password 通过'bar'标识;