最近在将mysql安装好之后,用navicate连接,发现一直都报错,系统重启了之后就这样,如下:
Clinet dose not support authentication protocol request by server ;consider upgrading MySQL client
大概的意思就是身份协议验证失败,需要升级客户端,
后来想了下,跟客户端有什么关系,连接其他的数据是好好的,大概就是身份验证失败了,但是我密码没问题,有点奇怪
后来百度了一圈,找了解决办法,在此记录一下
一,打开mysql的命令行工具,因为我是在Windows下安装的,工具如下:
输入之前设置的密码,登录成功,说明我密码输入的没问题,然后直接执行如下三行命令,修改成功
用Navicat连接成功
为了方便操作,我直接将命令复制出来
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
附上这三句的意思
use mysql
使用数据库,或者是选择数据库
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
mysql常用操作,就是讲user表里面的 root连接数据库的身份验证修改为:123456
FLUSH PRIVILEGES;
将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在”不重启MySQL服务”的情况下直接生效,那么就需要执行这个命令