Navicat连接mysql报错【1045 - Access denied for user 'root'@'localhost'(using password: YES)】

系统;win 10

mysql版本: 5.7.32

安装方式: https://www.cnblogs.com/water-1/p/10802256.html

安装完成后,navicat 连接数据报错,如下:

 

 

 

解决方法:

1、先找到mysql安装目录下的my-default.ini或者my.ini文件,如 D:\Program Files\mysql\my-default.ini,如果都没有,就新建一个my.ini:

 1 [mysql]
 2  
 3 # 设置mysql客户端默认字符集
 4 default-character-set=utf8 
 5 [mysqld]
 6 #设置3306端口
 7 port = 3306 
 8 # 设置mysql的安装目录
 9 basedir=D:\\softnew\\MYSQL\\mysql-5.7.20-winx64
10 # 允许最大连接数
11 max_connections=200
12 # 服务端使用的字符集默认为8比特编码的latin1字符集
13 character-set-server=utf8
14 # 创建新表时将使用的默认存储引擎
15 default-storage-engine=INNODB
16 # 设置mysql数据库的数据的存放目录
17 datadir=D:\\softnew\\MYSQL\\mysql-5.7.20-winx64\\data

注意:修改下basedir、datadir后的路径,路径中为\\而非\

2、使用记事本打开ini文件,找到[mysqld],在下方添加skip_grant_tables,该语句代表登录mysql时跳过输入密码的操作,忽略登录检查

3、重启数据库服务:管理员身份打开命令行cmd,非管理员身份重启mysql会报错

①停止服务器:net stop mysql

 

 

 

②启动服务器:net start mysql

 

 

 4、密码重置: mysql -u root -p

、、无需输入密码,直接回车

、、mysql> update user set password=password(‘newpasswd’) where user=’root’

、、刷新MySQL权限相关的表: mysql> flush privileges

 

退出数据库

6、my.ini注释掉skip_grant_tables(在skip_grant_tables前面加一个 # 注释),保存并退出

7、重启数据库服务

 

另 》  执行步骤4时会报错:

 

 可执行  mysqld --console --skip-grant-tables --shared-memory

 

 此时,重新用navicat连接数据库 ,成功

 

posted @ 2021-02-02 17:58  猿来如此~  阅读(1939)  评论(0)    收藏  举报