mysql8.0 and Navicate11.2 链接报错问题 亲测有效:记录一下仅供提醒自己
原创:
https://blog.csdn.net/xdmfc/article/details/80263215
今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251;
原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错。
试了很多种方法,终于找到一种可以实现的:
更改加密方式
步骤1:先通过命令行进入mysql的root账户:mysql -uroot -p***(输入自己的用户名密码)
步骤2:更改加密方式:mysql>
ALTER
USER
'root'
@
'localhost'
IDENTIFIED
BY
'password'
PASSWORD
EXPIRE NEVER;
显示:Query OK
步骤3:更改密码:mysql>
ALTER
USER
'root'
@
'localhost'
IDENTIFIED
WITH
mysql_native_password
BY
'123'
;(123为例子改成自己的mysql用户密码)
显示:Query OK
步骤4:刷新:mysql> FLUSH
PRIVILEGES
;
完成上述步骤,我是成功的
// 如果报错ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%':
则是远程访问权限不正确,先选择数据库,查看一下再更改:
mysql> use mysql;
Database
changed
mysql>
select
user
,host
from
user
;
+
------------------+-----------+
|
user
| host |
+
------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+
------------------+-----------+
5
rows
in
set
(0.00 sec)