Navicat连接MySQL8.0失败
使用旧版本Navicat连接8.0版本的MySQL无法连接报如下错误MySQL 2059 错误的核心原因是MySQL 8.0 默认使用 caching_sha2_password 认证插件但旧版数据库客户端不支持该插件导致无法加载认证方式连接失败。解决这个问题最好的方式是升级Navicat的版本Navicat 15及以上版本连接是没问题的。若必须使用低版本的Navicat和MySQL8.0的数据库则可使用以下的方法通过修切换旧版插件使低版本的Navicat可以连接MySQL 8.0的数据库。1、数据库服务器登录MySQLWindows:使用CMD命令在MySQL服务器上进入MySQL的bin目录如C:\Program Files\MySQL\MySQL Server 8.0\bin执行mysql -u root -p2、切换为旧版本兼容的认证插件执行以下SQL将root用户的认证方式改为mysql_native_password可保留原密码也可以此时更新密码ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 你的root密码;3、刷新权限配置FLUSH PRIVILEGES;4、测试连接回到旧版的Navicat重新连接即可成功5、其它方案下面是我处理上面问题时找到的另一个方案由于没有尝试所以仅用于拓展解决方案。注意此配置仅对修改后新建的用户生效已存在的root等用户仍需用上面的方案单独修改。如果不想逐个修改用户可直接修改MySQL全局配置让所有新建用户默认使用兼容旧版的认证方式5.1找到MySQL配置文件- WindowsC:\ProgramData\MySQL\MySQL Server 8.0\my.ini 注意是隐藏的ProgramData目录不是Program Files- Linux/etc/my.cnf 或 /etc/mysql/my.cnf- macOS/usr/local/mysql/etc/my.cnf 或 ~/.my.cnf5.2在 [mysqld] 节点下添加配置[mysqld]default_authentication_pluginmysql_native_password5.3重启MySQL服务使配置生效- Windows在「服务」中找到 MySQL80 右键重启- Linuxsystemctl restart mysqld- macOSbrew services restart mysql
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2517260.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!