mysql8.0 and Navicate11.2 连接报错问题 亲测有效:记录一下仅供提醒本身mysql
原创:sql
https://blog.csdn.net/xdmfc/article/details/80263215数据库
今天下了个 MySQL8.0,发现Navicat链接不上,老是报错1251;session
缘由是MySQL8.0版本的加密方式和MySQL5.0的不同,链接会报错。加密
试了不少种方法,终于找到一种能够实现的:.net
更改加密方式命令行
步骤1:先经过命令行进入mysql的root帐户:mysql -uroot -p***(输入本身的用户名密码)code
步骤2:更改加密方式:mysql>
ALTER
USER
'root'
@
'localhost'
IDENTIFIED
BY
'password'
PASSWORD
EXPIRE NEVER;
blog
显示:Query OKget
步骤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)