MySQL8.0 caching_sha2_password 问题
记录MySQL8.0,使用Navicat旧客户端连接时的caching_sha2_password问题
因为MySQL8的新特性,MySQL8默认使用 caching_sha2_password 身份验证机制,旧客户端不支持这种验证,然后会导致报错无法登陆。
解决:在MySQL8.0中使用旧的认证机制mysql_native_password来设置密码即可。旧模式不是MySQL8的默认模式,所以需要在创建用户或者修改密码时,明确指定为mysql_native_password模式。
- 默认模式创建用户,执行 ALTER USER 'root'@'%' IDENTIFIED BY 'xxxxxxxxx',创建密码机制使用的是caching_sha2_password。这种情况下,使用Navicat客户端连接会失败,报caching_sha2_password 相关错误。
- 使用 WITH mysql_native_password 指明该机制创建密码,
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxxxxx';
执行后该用户的密码机制则会被设置为了mysql_native_password。
此时,使用Navicat客户端连接则会成功。
-
MySQL8
遇到过同样的问题 ++
😄