启动MySQL后,执行命令mysql -u root -p并输入密码时,系统返回错误提示:ERROR 1045 (28000),表示访问被拒绝,用户root@localhost无法登录,尽管已提供密码。该问题通常由密码错误、权限配置不当或用户账户状态异常引起,需检查认证信息及数据库服务设置,确认用户权限和密码是否正确配置,方可解决登录失败问题。
1、 服务已终止
2、 方法一:通过执行dos命令net stop mysql来停止服务,前提是MySQL已作为系统服务安装,否则该命令无效。
3、 服务名无效时,可尝试采用第二种方法解决。
4、 进入控制面板,选择管理工具中的服务,找到MySQL服务项,点击左侧的停止按钮即可关闭服务。
5、 跳过验证
6、 进入MySQL默认安装目录,例如C:Program FilesMySQLMySQL Server 5.1,找到名为my.ini的配置文件。该文件用于存储MySQL的各项运行参数,并在每次启动服务时被优先读取。在文件末尾添加一行skip_grant_tables指令,此命令的作用是让MySQL在启动时跳过用户权限验证环节,从而实现无需正确密码即可直接登录数据库。修改完成后需保存文件并重启MySQL服务以使更改生效。操作完毕后应尽快恢复设置,避免系统长期处于无认证访问状态,造成安全风险。
7、 更改登录密码
8、 启动MySQL服务后,打开命令提示符窗口,输入mysql -u root -p以登录数据库。若安装时未配置环境变量,需先通过cd命令切换至MySQL的安装路径目录。系统会提示输入密码,此时可尝试输入任意字符并回车,即可成功进入MySQL环境,屏幕上显示mysql>提示符,表示已登录。接下来,在该提示符下可直接输入所需执行的SQL命令,开始进行数据库操作。
9、 将本地主机root用户的密码设置为新密码,其中newpassword代表实际要设定的新密码。
10、 有CSDN网友分享了相关方法,但我尝试后未成功,所用命令系从别处查得。
11、 执行 USE mysql 命令,切换当前操作的数据库为 mysql。
12、 执行命令:UPDATE user SET password=PASSWORD(newpswd) WHERE user=root,用于修改root用户的密码为newpswd。
13、 password函数是MySQL内置的用于设置用户密码的函数,newpswd代表更新后的新密码值。
14、 再度退出,服务已终止。
15、 输入 quit 或 exit 退出 MySQL 命令行。
16、 重启服务
17、 删除或注释my.ini文件中跳过权限的语句,重启服务后,用新密码登录即可完成操作。
