解决MyQL数据库中1045错误的方法

发表于:2021-1-14 10:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:南夏一木子    来源:CSDN

  在各种各样的适用场所,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 —>任务管理器—>服务—>点右键—>重启服务。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号