查看mysql服务器中mysql数据库中的表,发现mysql服务器只有本机可连接,百度一下,是访问权限问题,执行命令可解决问题,

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;
image.png

语句含义为:赋予root用户从任何主机登录,访问服务器中的所有database的权限。
1处 指定可访问的database,可修改为你允许用户访问database。
2处 指定可访问的用户,‘%’代表所用用户可访问。
3处 表示登录的主机,‘%’代表任何主机,可指定特定主机的IP地址。
然而 too young too simple,问题没有得到解决,出现一下错误

image.png

解决方案如下:

  1. 创建用户(创建root用户,可通过密码123456从任何主机登录)
 create user 'root'@'%' identified by  '123456';
  1. 授予用户权限(授予该用户所有权限)
 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

3.刷新权限

 flush privileges;

完成上述操作后,出现如下错误 authentication plugin ‘caching_sha2_password’ cannot be loaded

image.png

是mysql账户密码加密规则问题,修改账户加密规则

 ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;   #修改加密规则 

 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';   #更新一下用户的密码 

好,到此问题解决,此处应有掌声

文章来源于互联网:mysql远程连接错误 – is not allowed to connect to this my sql server

发表评论