添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
首发于 程序人生

mysql8.0无法远程连接 The server requested authentication method unknown to the client

先解决你的问题,我再讲一下为什么? 分两步骤:修改配置、创建用户

一、修改配置,改变mysql8默认的密码校验方式

修改mysql配置,一般在etc目录下:

vim /etc/my.cnf

打开如下注释:

重启mysql8

systemctl restart mysqld


二、创建用户

登录数据库,选择mysql库

use mysql

创建远程和本地用户,一个是本地服务器账户,一个是远程项目或者naivate链接使用

创建本地用户,并制定密码校验方式

CREATE USER 'native'@'localhost' IDENTIFIED WITH mysql_native_password;

为这个本地用户,设置密码(mysql8只能创建用户在设置密码,一次性操作密码是失败的)

ALTER USER 'native'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Pposis!65';

为该用户赋予对数据表操作权限

grant all privileges on *.* to 'native'@'localhost' with grant option;


接下来继续创建一个同名同密码的用户,不过是远程的,本质上是2个账号了,但同名同密码,我们就当一个

CREATE USER 'native'@'%' IDENTIFIED WITH mysql_native_password;

为这个远程用户设置密码

ALTER USER 'native'@'%' IDENTIFIED WITH mysql_native_password  BY 'Pposis!65';

为该远程用户,赋予权限

grant all privileges on *.* to 'native'@'%' with grant option;

刷新权限

FLUSH PRIVILEGES;

接下来,你无论在服务器还是远程连接navicate 还是在php和java项目中都使用如下账号

账号为:native
密码:Pposis!65



接下来,详细描述一下这个问题

1、问题描述

当我用 PHP 连接 MySQL 时报如下错误:

上面错误信息的字面意思: 服务器请求使用的是客户端未知的身份验证方法。分析: 以明文形式发送密码可能会出现某些安全问题(如密码被截获),为了避免这些安全问题,许多客户端在将密码发送到服务器之前会使用 “身份验证插件” 对密码进行加密,MySQL 客户端连接到 MySQL 服务器的时候也是一样的道理。土说就是兄弟们,我升级了,以后检验密码的方式我用某某校验,以前哪一套不管用了,别用php和java的自带的校验方式来找我,你要和我统一,不然就不然过。

我查了一下我php连接该mysql的校验集支持,我这是php7.2.3的,支持如下画红线的;

我们在看一下mysql8刚安装完默认所有账户的校验方式:

show variables like 'default_authentication_plugin';

叫什么caching_sha2_password, 但是可以看到我上面的phpinfo输出的 我支持的是sha2_password 看起来后半截差不多,但不是一回事,还有常规支持一个mysql_native_password;所以连不上正常。这个校验呢,我给一个解释 如下:

所以上面上面我直接把mysql8校验方式改成原来较为传统的方式,也是很多版本支持的方式,就是修改配置那块,而且也是php或者java语言常规支持的方式。

不过不要忘记了,不仅这2个地方要支持(数据库8和语言),创建账号也需要指定校验方式,也必须统一:

数据库中执行如下,查看账号所指定校验方式:

select user,host,plugin from mysql.user;

我为了给你们做测试,创建了多个不同账号,后面画红线的就是说,你登录的时候我mysql用啥校验方式,所以上面我们都改成了mysql_native_password,你在创建账户的时候,不要指定成caching开头的那个校验集,这是默认的。所以创建用户的时候,需要指定,不过请放心,我上面给大家的案例,都是写好的,只要修改语句中的密码和用户名即可,甚至你都不用修改。

到了这里 语言和数据库和账号指定的校验集三者统一!


接下来我介绍一下上面创建账号,写的语句都啥意思(下面是图,不要被文字打扰,偷个懒)

收藏、点赞、下课!赵锐庆

发布于 2022-12-18 16:34 ・IP 属地江苏

文章被以下专栏收录