Mysql授权允许远程访问解决Navicat for MySQL连接mysql提示客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端

Wesley13
• 阅读 983
MySQL Installer 8.0.17

Mysql授权允许远程访问解决Navicat for MySQL连接mysql提示客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端

出现上述错误的原因是版本MySQL 8.0.17即8.0开始的MySQL版本,因为采用新的保密方式,而Navicat Premium 所属使用的是旧版本的方式,所以旧的似乎不能用,我们可以通过修改MySQL 8.0以及以上版本的加密方式 ,这样的话,Navicat Premium客户端就可以连接了。

解决方式如下:

MySQL Community Edition(GPL)

在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。缺省状态下,mysql的用户是没有远程访问的权限。

下面介绍两种方法,解决这一用户远程访问的权限问题。

1、改表法

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

2、授权法

在安装mysql的机器上运行mysql的客户端 :MySQL 8.0 Command Line Client :

1、mysql> use mysql;

//这样应该可以进入MySQL服务器

2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

//赋予任何主机访问数据的权限

例如,你想  root 使用  password   从任何主机连接到mysql服务器的话。

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

例如:如果你想允许用户myuser从ip为192.168.1.1的主机连接到mysql服务器,并使用password作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.1' IDENTIFIED BY 'password' WITH GRANT OPTION;

3、mysql>FLUSH PRIVILEGES;

//修改生效

4、mysql>EXIT

退出MySQL服务器,这样就可以在其它任何的主机上以root身份登录

MySQL Community Server (GPL)

授权法

在安装mysql的机器上运行mysql的客户端 :MySQL 8.0 Command Line Client

1、mysql> use mysql;

//这样应该可以进入MySQL服务器

2、mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

//%  表示 赋予任何主机访问数据的权限,例如,你想  root 使用  password   从任何主机连接到mysql服务器的话,如果想使用指定的IP来连接mysql的话,只需要把%改成对应的ip即可。

3、mysql> ALTER USER 'root'@'%' IDENTIFIED with mysql_native_password by '123456';

4、mysql> ALTER USER 'root'@'%' IDENTIFIED with mysql_native_password by '123456';

5、mysql> flush privileges;

6、mysql>EXIT

退出MySQL服务器,这样就可以在其它任何的主机上以root身份登录

下面是截图:

mysql> use mysql;
Database changed
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.01 sec)

mysql> ALTER USER 'root'@'%' IDENTIFIED with mysql_native_password by '123456';
Query OK, 0 rows affected (0.03 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

Mysql授权允许远程访问解决Navicat for MySQL连接mysql提示客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端

点赞
收藏
评论区
推荐文章
春风化雨 春风化雨
1年前
Navicat Premium for Mac(多连接数据库管理工具)
NavicatPremium是MySQL,SQLServer,Oracle和PostgreSQL的一体化数据库管理和迁移工具。NavicatPremium结合了所有Navicat版本的终极版本,可以连接MySQL,Oracle和PostgreSQL。Nav
Wesley13 Wesley13
3年前
PHP连接MySQL 8.0报错的解决办法
MySQL升级到8.0之后,PHP连接报错怎么解决?作为资深的MySQL票友,最近我总在给8.0吹水,我们知数堂的MySQL课程去年也早就升级到8.0版本了。我的VPS老早就想升级了,无奈PHP版本太低,担心升级后有问题,所以一直没去折腾。这两天稍微得空,就开始折腾升级MySQL版本。为了解锁最香新功能,我直接升级到了最新的MySQL8.0.1
Wesley13 Wesley13
3年前
MySQL基础(一)
一、连接MySQL数据库1连接:2mysqlhhostuuserp34常见错误:5ERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/tmp/my
Wesley13 Wesley13
3年前
Mysql数据库的优化
一:Mysql参数优化1.查看mysql参数最大连接!(https://oscimg.oschina.net/oscnet/0e4e34a1cc875042ecb1d51e365443b7a66.png)调大mysql参数连接(最大可设置12384)!(https://oscimg.oschina.net/oscnet/b213d5
Wesley13 Wesley13
3年前
MySQL数据库优化技巧
MySQL优化三大方向①优化MySQL所在服务器内核(此优化一般由运维人员完成)。②对MySQL配置参数进行优化(my.cnf)此优化需要进行压力测试来进行参数调整。③对SQL语句以及表优化。MySQL参数优化1:MySQL默认的最大连接数为100,可以在mysql客户端使用以下命令查看mysql
Stella981 Stella981
3年前
C++操作mysql__通过mysql的c api连接mysql服务器
C通过mysql的capi连接mysql服务器1、在连接之前,不要忘记打开mysql服务器哇(Navicat打开或者不打开都可以)!(https://img2018.cnblogs.com/blog/1404463/201906/140446320190624105319714798
Stella981 Stella981
3年前
20180601_设置mysql允许外部IP连接
设置mysql允许外部IP连接Mysql安装成功之后,默认之能本地访问mysql数据库。如果其他电脑需要访问mysql数据库就需要进行授权访问。操作步骤:\使用mysql数据库usemysql;\查看是否只允许本机访问mysqlselectuser,hostfromuser; \授权指定ip访问mysql
可莉 可莉
3年前
20180610_navicat premium使用Root用户连接上mysql后只能看到information_schema数据库
navicatpremium使用Root用户连接上mysql后只能看到information\_schema库这是权限不足导致的,尽管是用root账户登录,navicat登录相当于是远程ip登录数据库,仍会出现权限不足只能看到information\_schema临时库。连接测试没有问题: !(https://oscimg.oschina.
可莉 可莉
3年前
20180601_设置mysql允许外部IP连接
设置mysql允许外部IP连接Mysql安装成功之后,默认之能本地访问mysql数据库。如果其他电脑需要访问mysql数据库就需要进行授权访问。操作步骤:\使用mysql数据库usemysql;\查看是否只允许本机访问mysqlselectuser,hostfromuser; \授权指定ip访问mysql
Stella981 Stella981
3年前
CentOS LAMP环境配置好后,拒绝访问远程服务器
当LAMP环境配置好后,我们在本机:192.168.0.130使用Navicat连接服务器:192.168.0.168的时候会出现远程MySQL不允许访问的错误,这是因为Mysql为了安全性,在默认情况下用户只允许在本地登录,我们现在的情况是在本机使用phpmyadmin或则是Navicat进行登录、数据库管理,那么怎么办呢?我们需要进行如下操作:一、如