mysql8 安装后登陆2059 显示乱码

 下载了新的 mysql 却发现登陆不上:

网上索罗一番 有的说  cmd 命令下 去安装目录下 进入 bin\ 

然后mysql -uroot -pxxx  登陆 然而我的比较特殊 在命令行里依然出现了 上述错误, 登陆不进去

 

我的解决办法一:

在这里 进入终端进入 cmd    进行登陆

: 登陆成功 然后

登录后执行:

use mysql;

select host, user, plugin from user;

打印:

+-----------+------------------+-----------------------+
| host | user | plugin |
+-----------+------------------+-----------------------+
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys | caching_sha2_password |
| localhost | root | caching_sha2_password |
+-----------+------------------+-----------------------+
4 rows in set (0.00 sec)

发现新版MySQL都是默认用caching_sha2_password这个plugin来加密密码了,HeidiSQL无法接入。现改成原生密码的加密方式。

 

执行:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxx';  flush privileges;

(注: 这里的localhost 是用户这在本地登陆的, % 为 本地和远程登陆都可以。要根据用户的该属性对应填写 该值,比如:用户是可以远程登陆的 你填写 localhost  后,执行该句就会报错。)

就可以了。再执行上面的查询语句,返回:

+-----------+------------------+-----------------------+
| host | user | plugin |
+-----------+------------------+-----------------------+
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys | caching_sha2_password |
| localhost | root | mysql_native_password |
+-----------+------------------+-----------------------+
4 rows in set (0.00 sec)

可知,已经改mysql_native_password插件了。

 

办法二:

修改 mysql的配置文件  my.ini 初始化文件中,在[mysqld] 下边 添加 skip grant tables 图下图:

Cmd  输入 mysql -uroot -p     回车

提示让你输入密码  这个时候  直接回车就可以直接登陆上了

然后和一一样执行: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxx';  flush privileges;   更改密码保存方式(不用最新的 插件)

 

两种方法的根本 目的 都是先登录上去, 然后 在修改 密码方式。

然而 修改密码的保存方式 除了执行上述的语句以外 也可以在 navicate 里边图形界面上修改其他用户的该属性。(前提是先用root 登陆上以后)

如下图示:一目了然不过多赘述(navicat版本12)

 

猜你喜欢

转载自blog.csdn.net/fanbaodan/article/details/84245237