启动mysql服务后,当运行命令 mysql -u root -p 并输入密码时,系统提示错误:error 1045 (28000),说明访问被拒绝,root@localhost 用户无法登录。该问题通常源于密码输入错误、权限配置异常或账户状态异常等情况,需排查认证设置与数据库服务配置,确认用户权限及密码是否正确,才能解决登录失败。
1、 服务已停止
2、 方法一:使用DOS命令 net stop mysql 停止MySQL服务,前提是MySQL已注册为系统服务;若未安装为服务,则该命令将无效。
3、 若提示服务名不存在,可尝试采用其他方式停止服务。
4、 打开控制面板,进入“管理工具”中的“服务”界面,查找MySQL对应的服务项,点击左侧的“停止”按钮,即可关闭数据库服务。
5、 跳过权限验证
6、 进入MySQL的默认安装路径,如 C:\Program Files\MySQL\MySQL Server 5.1,找到配置文件 my.ini。此文件保存了MySQL的各项参数,并在服务启动时自动加载。在文件末尾添加一行 skip_grant_tables 指令,其作用是让MySQL启动时跳过权限表验证,从而无需正确密码即可登录。修改完成后保存文件,并重启MySQL服务以使配置生效。注意:操作完成后应及时移除该配置,防止数据库长期处于无密码保护状态,带来安全风险。
7、 修改root用户密码
8、 启动MySQL服务后,打开命令行窗口,执行 mysql -u root -p 尝试登录。若未配置环境变量,需先通过 cd 命令切换至MySQL的bin目录(如 cd "C:\Program Files\MySQL\MySQL Server 5.1\bin")。登录时系统会要求输入密码,此时可随意输入任意字符并按回车,即可成功进入MySQL命令行界面,出现 mysql> 提示符,表示已登录成功。此后可在该界面执行SQL语句进行管理操作。
9、 将本地root用户的密码更新为新密码,其中 newpassword 应替换为你希望设置的实际密码。
10、 网络上有CSDN用户分享类似方法,但笔者尝试部分命令未能奏效,所用语句系从其他资料中查得。
11、 执行 USE mysql; 命令,将当前操作数据库切换为系统数据库 mysql,以便修改用户权限表。
12、 执行以下命令:UPDATE user SET password=PASSWORD('newpswd') WHERE user='root' AND host='localhost';,用于更新root用户在本地主机上的密码为 newpswd。
13、 PASSWORD() 是MySQL内置函数,用于加密设置的新密码,newpswd 需替换为实际要设定的密码值。


14、 再次退出,服务需重新启动。
15、 输入 quit 或 exit 命令退出MySQL命令行界面。
16、 重启MySQL服务
17、 编辑 my.ini 文件,删除或注释掉之前添加的 skip_grant_tables 行,保存后重新启动MySQL服务。随后使用新设置的密码登录,即可正常进入数据库系统。
以上就是MySQL 1045错误快速解决的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号