You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Visual Studio 2018连接MySQL 8.0遇认证错误求解决方案

解决Visual Studio 2018连接MySQL 8.0的认证错误问题

这个错误的核心原因很明确:MySQL 8.0默认启用了caching_sha2_password这种新的认证插件,但你使用的mysql-for-visualstudio-1.2.7版本对该认证方式的支持不完善——哪怕搭配了较新的mysql-connector-net-8.0.11,VS的数据库连接插件版本跟不上也会触发这个问题。下面给你几个可行的解决办法:

方法1:修改MySQL用户的认证方式(最直接有效)

登录MySQL命令行客户端,执行以下SQL语句,把你的数据库用户认证方式切换回旧版的mysql_native_password(VS插件对这个认证方式完全兼容):

-- 替换成你的用户名和密码,localhost如果是远程连接可以改成'%'或者对应主机地址
ALTER USER 'your_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;

执行完成后,重新在VS里尝试连接,应该就能正常获取数据库名称了。

方法2:更新MySQL for Visual Studio插件

mysql-for-visualstudio-1.2.8及以上版本开始正式支持caching_sha2_password认证方式,你可以下载最新的VS插件安装包完成更新,安装后重启Visual Studio,再重新配置数据库连接即可。

方法3:调整连接字符串参数(适用于不想修改用户认证的情况)

如果你想保留caching_sha2_password认证,可以在VS的连接字符串里添加以下参数:

AllowPublicKeyRetrieval=True;SslMode=None;

不过要注意,AllowPublicKeyRetrieval=True会允许客户端从服务器获取公钥,存在一定安全风险,仅建议在本地开发环境中使用。

内容的提问来源于stack exchange,提问作者vikash vishnu

火山引擎 最新活动