解决mysql root账户连接报错:1045 - Access denied for user root@localhost(using password: YES)

 

这个报错是由于root密码不对(可能你记错了),重置root 密码就可,方法如下,亲试有效(Windows环境下)!

1 管理员身份进入cmd

点击“开始”菜单——>输入cmd(右键以管理员方式运行)

2 解决1045

2.1 往my.ini文件加 skip-grant-tables 指令

在mysql安装目录下找到my.ini文件,默认安装在c盘,我安装在e盘的,直接在指定盘下搜索:

打开编辑my.ini文件:

2.2 进入刚才打开的cmd命令窗口(记住每一步用完cmd指令窗口,不必关闭,之后所有指令都可在同一个窗口执行

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\windows\system32>net stop mysql    //停止m
### 解决Navicat连接MySQL时出现1045错误的问题 Navicat连接MySQL时出现`1045 - Access denied for user 'root'@'localhost' (using password: YES)`错误,通常是因为用户名、密码或权限配置不正确。以下是解决此问题的详细方法: #### 1. 检查MySQL服务状态 确保MySQL服务正在运行。如果服务未启动,可以通过以下命令启动服务: ```bash net start MySQL ``` 如果服务无法启动,可能需要检查日志文件以了解具体原因[^3]。 #### 2. 验证用户名和密码 确认输入的用户名和密码是否正确。可以通过命令行登录MySQL进行验证: ```bash mysql -u root -p ``` 输入密码后,如果可以成功登录,则说明Navicat中的配置有误;如果登录失败,则需要重新设置root用户的密码[^1]。 #### 3. 重置root用户密码 如果忘记或无法使用当前密码,可以通过以下步骤重置root用户密码: - 停止MySQL服务: ```bash net stop MySQL ``` - 使用跳过权限的方式启动MySQL: ```bash mysqld --skip-grant-tables ``` - 打开新终端窗口,以root用户登录MySQL(无需密码): ```bash mysql -u root ``` -MySQL中执行以下SQL语句以修改密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES; ``` - 重启MySQL服务并尝试重新连接[^2]。 #### 4. 检查端口占用情况 如果3306端口被其他进程占用,可能会导致连接失败。通过以下命令检查端口占用情况: ```bash netstat -ano | findstr :3306 ``` 记录PID号,并通过以下命令确认占用进程: ```bash tasklist | findstr PID号 ``` 如果发现非MySQL进程占用了3306端口,可以终止该进程: ```bash taskkill /PID PID号 /F ``` 然后重启MySQL服务[^3]。 #### 5. 配置my.ini文件 确保MySQL配置文件`my.ini`中包含正确的参数设置。例如: ```ini [mysqld] port=3306 bind-address=127.0.0.1 ``` 保存文件后重新安装MySQL服务并绑定配置文件: ```bash mysqld --install MySQL --defaults-file="C:\path\to\my.ini" ``` #### 6. 修改用户权限 如果root用户没有足够的权限访问数据库,可以执行以下SQL语句授予所有权限: ```sql GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` ### 注意事项 - 确保Navicat版本与MySQL版本兼容。 - 如果使用的是远程连接,需确认防火墙规则允许3306端口通信。 - 修改配置文件或密码后,务必重启MySQL服务以使更改生效。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值