mysql遇到error1045或2003

本文介绍了解决MySQL密码遗忘的方法,包括停止服务、修改配置文件、更新密码等步骤,并解决了ERROR1045及ERROR2003等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


       这几天学习mysql,刚安装后设置的为空密码,后来登录一直显示ERROR 1045 ,提示没有密码,各种百度google,根据别人推荐安装phpmyadmin,但使用phpmyadmin依旧提示不让空密码,无奈重新回到起点。

       说来奇怪后来有一次操作在cmd中输入mysql -uroot -p  直接进入mysql,各种使用通畅无阻,当时没有太在意,以为初始哪里没有加载完全。后来重启了一次电脑又出现一次ERROR 1045,无奈只能求助度娘,后来找到一个方法如下:

//////////////////////

 今天用mysql的时候突然忘记了以前设置的Root的密码,在网上找了下相关的方法,没什么好用的,有推荐说用phpAdmin之类的,这是个php形式管理软件,需要配置php运行环境,于是放弃,还是用老办法卸载重装,然后需要问题,而且还不是1045这个问题,于是再次卸载,重启后安装,这时出现1045问题,又是一顿Google,在尝试了无数遍方法之后,终于在csdn上找到了答案,解决了我的问题,先给出解决方案:

首先cmd中输入  net stop mysql   //停止Mysql服务
然后在my.ini文件中的[mysqld]下面一行添加 skip_grant_tables(加上这句话)
在cmd中将目录切换到你的Mysql的安装路径,如我的是C:\Program Files\MySQL\MySQL Server 5.1\bin
所以在cmd中输入cd C:\Program Files\MySQL\MySQL Server 5.1\bin
再次输入 mysql -uroot -p ,这时cmd将切换成mysql模式
在mysql中输入
     UPDATE user SET Password=PASSWORD('newpassword') where USER='root'

好了,现在你的root密码已经更改成newpassword了

my.ini中添加的 skip_grant_tables 删除

重启mysql服务,net start mysql , 一切搞定~~~

///////////////////////

  根据以上步骤操作,出现一个新的问题,ERROR 2003  cannot connect to MYSQL server on 'localhost';后来通过检查发现mysql服务没有启动,重新找到管理内部的服务将有关mysql的服务项启动,或这在cmd下使用net start mysql命令,再根据以上步骤操作,过程顺利进行,一切搞定。。。




### 如何解决 MySQL 错误 1045 (Access denied for user) 当遇到 `ERROR 1045 (28000): Access denied for user` 的错误时,通常意味着客户端尝试使用不正确的用户名密码访问 MySQL 数据库服务器。该问题可能由多种因素引起,包括但不限于: - 用户名密码输入错误 - 权限设置不当 - 配置文件中的默认账户信息被修改 #### 方法一:重置 root 密码 如果是因为忘记了 root 账户的密码是其发生了意外更改,则可以通过以下步骤来重新设定它。 1. 停止正在运行的服务: ```bash sudo systemctl stop mysql.service ``` 2. 使用安全模式启动 mysqld 并跳过权限表检查: ```bash sudo mysqld_safe --skip-grant-tables & ``` 3. 登录到 MySQL 不需要提供任何凭证: ```bash mysql -u root ``` 4. 修改用户密码: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ``` 5. 关闭会话并正常重启服务: ```bash exit; #退出SQL命令行界面 sudo systemctl start mysql.service ``` 通过上述操作可以恢复对数据库系统的完全控制权[^2]。 #### 方法二:验证和调整权限分配 有时即使提供了正确的认证数据仍然无法成功登录,这可能是由于特定主机上的授权不足造成的。此时应该确认目标用户的权限范围是否涵盖了所要执行的操作以及所在的 IP 地址。 ```sql SELECT User, Host FROM mysql.user WHERE User='root'; SHOW GRANTS FOR 'root'@'%'; ``` 对于生产环境而言,建议仅授予必要的最小化权限给各个应用程序使用的账号,并严格管理超级管理员级别的身份凭证存储方式[^4]。 #### 方法三:修复潜在的安全策略冲突 某些情况下,MySQL 版本更新可能会引入新的安全性增强特性,默认启用后会影响现有连接行为。例如,在较高版本中启用了更严格的加密算法要求者其他限制条件。针对这类情形,查阅官方文档了解具体变化,并相应调整应用端配置参数以满足最新标准[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值