Navicat连不上mysql8
今天使用navicat连接mysql8,发现错误连连
错误1:1130-Host '192.168.50.2' is not allowed to connect to this MySQL server

错误2:2059-Authentication plugin 'caching_sha2_password' cannot be loaded:The specified module could not be found

登录mysql,并切换数据库
mysql -u root -proot
use mysql;
mysql 数据库中存储了一张 MySQL 用户的 user 表,可以查看当前 root 用户的相关信息
select host, user, plugin from user where user = 'root';

表格中有以下信息:
host: 允许用户登录的 ip ‘位置’ % 表示可以远程;
user: 当前数据库的用户名;
authentication_string: 用户密码(在mysql 5.7.9以后废弃了password字段和password()函数);
plugin: 密码加密方式;
1,首先要修改用户可从外网访问的权限
mysql> update user set host = '%' where user = 'root';
mysql> FLUSH PRIVILEGES;
这时,错误1就被解决了。
2,更改加密方式,mysql8引入了新特性 caching_sha2_password;老客户端不支持,改为mysql_native_password 方式;
ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
这时,错误2就被解决了。
注意:用update方式修改密码策略会导致用户丢失。要删掉重建。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2020-07-21 织梦5.7 如何实现伪静态实战