解决MyQL数据库中1045错误的方法——Windows系统

注:大家可以评论了,评论我能看到

在各种各样的适用场所,MySQL会出现各种各样的问题,经过足足半年的长跑,我的数据库终于修复了Bug,可以重新使用了。数据库出问题,那可能是家常便饭了。经过这足足半年的煎熬,我决定在以后的日子里,记录下我在使用数据库时遇到的色彩缤纷的问题,以及这些问题的解决方法。由此,今天写了这篇博客。

首先,给大家看看,这个问题是什么样子的。我在这里用到的MySQL可视化工具为Navicat。

这个错误是这样说的:

1045    Access denied for user 'root'@'localhost' (using password:YES)

这个意思是说:用户“root”@本地主机的访问被拒绝

那为什么会出现这种错误呢?

答案是这样:这种问题的本质是用户密码出现错误。

那如何解决呢?

以下是我今天的解决经验:

1.找到MySQL安装路径下的my.ini文件,用记事本的方式打开;

2.打开后,找到mysqld这个位置,这个文件的内容中有多个mysqld,注意看箭头所指位置

3.在 [mysqld] 底下添加语句:skip-grant-tables,添加完毕后保存。如果提示不让修改这个文件,则可将它复制到桌面,再用记事本打开它,添加完毕后,将桌面上的文件复制到原来的地方,赋值时选择替换目标文件;

好学的你肯定也想知道这个skip-grant-tables是什么意思,如下介绍:

skip-grant-tables作为启动参数的作用:MYSQL服务器不加载权限判断,任何用户都能访问数据库。

也就是说,启用这个参数之后,数据库的安全性会降低。

4.WIN+R —>cmd—>mysql -u root -p,这个命令是连接数据库服务器的命令;遇到Enter  passward:直接回车;

5.继续执行如下操作:

mysql>use mysql          //使用这个数据库

mysql>update user set password=password("123456") where user="root";   //修改数据库的密码

mysql>flush privileges;      //刷新数据库

这要步骤已经完成,我们来看看修改后的用户和密码:

到这里修改密码的工作已经完成。接下来要将在my.ini中添加的语句删掉。删掉之后再重启服务器,在测试链接,如果没有错误,一切OK;如果删掉语句,重启服务器之后任然有1045错误,那么,还是在my.ini原来删掉这条语句的位置中添加这条语句:skip-grant-tables,再重启服务器,再测试,一切OK。

服务在哪里?

ctrl + alt + delete —>任务管理器—>服务—>点右键—>重启服务

写在最后:快结束的大三

时间很长,也很快,万事不要轻易放弃,终将会有结果的!

不甘平庸,就要埋头做事!加油吧,姑娘~

                                                                                                                                                               图片来源:视觉中国

  • 163
    点赞
  • 483
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
MySQL 1045错误一般是由于连接MySQL数据库时使用了错误的用户名或密码导致的。以下是具体的解决方法: 1. 确认用户名和密码是否正确:在连接MySQL时,需要使用正确的用户名和密码。你可以在MySQL安装时设置一个root用户并设置密码,如果你忘记了密码,可以尝试使用以下命令重置密码: ``` sudo /etc/init.d/mysql stop sudo mysqld_safe --skip-grant-tables & mysql -u root mysql mysql> UPDATE user SET password=PASSWORD('new_password') WHERE user='root'; mysql> FLUSH PRIVILEGES; mysql> exit; sudo /etc/init.d/mysql restart ``` 其,new_password是你要设置的新密码。重启MySQL服务后,使用新密码连接MySQL。 2. 确认是否有权限连接MySQL数据库:在连接MySQL时,需要确保你有权限连接MySQL数据库。你可以通过以下命令创建并授权一个新用户: ``` CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 其,new_user是你要创建的新用户,password是你要设置的密码。授予该用户所有权限后,重新连接MySQL。 3. 确认是否使用了正确的主机名:如果是在本地连接MySQL,尝试使用localhost或127.0.0.1代替主机名来连接MySQL。如果是远程连接MySQL,需要确保主机名和端口号正确。 4. 确认MySQL服务器是否已启动:在连接MySQL之前,需要确保MySQL服务器已启动。你可以使用以下命令检查MySQL服务器状态: ``` sudo service mysql status ``` 如果MySQL服务器未启动,使用以下命令启动MySQL服务器: ``` sudo service mysql start ``` 5. 尝试重置MySQL用户密码:如果仍然无法连接MySQL,可以尝试使用以下命令重置MySQL用户密码: ``` sudo mysql -u root use mysql; update user set authentication_string=PASSWORD("new_password") where user='root'; flush privileges; quit; ``` 其,new_password是你要设置的新密码。重启MySQL服务后,使用新密码连接MySQL。 如果以上方法都无法解决问题,那么可能是MySQL数据库配置有误或者MySQL服务器存在其他问题导致的。你可以查看MySQL服务器的日志文件,以获取更多信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值