mysql 数据库异常,MySQL远程数据库异常

在本地连接服务器的mysql时,报2003 - Cant't connect to MySQL server on 'ip'(10060 "Unknown error")错误。

经过网上查阅资料,是端口问题

解决方案:

c532e6623337cb021b0be34f5a494ad3.png

点击添加规则增加开放3306端口

68ec14d7862964e5fb04e282087685f8.png

再次登录,报另一种错误:

1bc0151f806886665ed732e1b2a15762.png

解决方案:

运行命令:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

eg:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'root' WITH GRANT OPTION;

用户名和密码、IP换成自己的

但因为我是用的是mysql8 ,又出现了:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'rootq123' WITH GRANT OPTION' at line 1

查询mysql具体版本

SELECT @@VERSION

1

问题分析:mysql版本8.0.13,在给新用户授权时,发生了变化:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by  'password' with grant option' at line 5, Time: 0.000000s

1

出错的语句:

grant all privileges on *.* to 'root'@'172.16.10.203' identified by  'password' with grant option

1

修正后的语句:分开三次执行

#创建账户

create user 'root'@'172.16.10.203' identified by  'password'

#赋予权限,with grant option这个选项表示该用户可以将自己拥有的权限授权给别人

grant all privileges on *.* to 'root'@'172.16.10.203' with grant option

#改密码&授权超用户,flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里

flush privileges;

原因分析 :此版的的mysql版本把将创建账户和赋予权限分开了。

创建账户::create user ‘用户名’@‘访问主机’ identified by ‘密码’;

赋予权限:grant 权限列表 on 数据库 to ‘用户名’@‘访问主机’ ;

with grant option这个选项表示该用户可以将自己拥有的权限授权给别人

用navicat 连接发现报

Mysql 8连接报错 2059 - Authentication plugin 'caching_sha2_password' cannot be loaded:

f50e8e6bd61e208c1cb6e8e5a421e17c.png

使用Navicat 12远程连接Mysql 8.0.11时会提示如下报错信息,从错误信息可知caching_sha2_password不能加载。

以上报错是由于目前已有的客户端连接软件还不支持Mysql8新增加的加密方式caching_sha2_password,所以我们需要修改用户的加密方式,将其改为老的加密验证方式。

大安装Mysql数据库的主机上登录Mysql对应的用户,上面连接时用的用户为root,所以我们登录root用户。

4c2863221023ebc869c7cb5cf00344e6.png

执行命令

use mysql;

select user,plugin from user where user='root';

可以看到当前用户的加密方式为caching_sha2_password

db8ee8e4cac9dc1d22b39ec454f9e775.png

执行命令

alter user 'root'@'%' identified with mysql_native_password by 'Admin@123';

将用户的加密方式改为mysql_native_password。

f4d848dad881ab0a570f045cd33493a8.png

执行命令flush privileges使权限配置项立即生效。

638d9c569eeca4185f0af500fb227673.png

再次尝试连接Mysql,连接成功。

5de529649035bb411bbdf51720bcecc9.png

标签:grant,数据库,MySQL,用户,user,mysql,password,root,远程

来源: https://blog.csdn.net/yang254143/article/details/100782259

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值