瞎几把折腾一些东西,最后一步连接数据库时一直 Time out ,几番折腾终于解决,总结如下。
之前写得一篇也是同方向问题的文章:
《 Navicat 连接 mysql 8.0 提示:Client does not support authentication protocol requested by server》
Mysql 8.0用户可能会遇到以下两个问题:
- ER_NOT_SUPPORTED_AUTH_MODE
- mysql 'sha256_password' is deprecated and will be removed in a future release.
这两个问题的本质就是:
连接 `Mysql` 的客户端不支持 `sha256_password` 或者 `caching_sha2_password`的加密方式
解决方案很简单,就是更新加密方式为 mysql_native_password
就OK了。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
请额外注意,部分情况下 root
可能不在 localhost
,而是在 %
下,所以请使用:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
最后,一定记得 flush
flush privileges;
以上。
网友评论