当前位置:网站首页>解决MySql 1045 Access denied for user ‘root‘@‘localhost‘ (using password: YES)
解决MySql 1045 Access denied for user ‘root‘@‘localhost‘ (using password: YES)
2022-07-03 13:22:00 【程序猿DaBo】
最近遇到一个问题,就是后台连不上mysql数据库,用navicat打开数据库提示1045 Access denied for user 'root'@'localhost' (using password: YES)。这个问题在网上有一个解决办法,但是全网都是复制了一个人的,并且没有给出到底是什么原因导致的这个问题。今天我针对这个问题给出原因解释和两个解决此问题的方法!

原因:
1.数据库密码被篡改了!
没错,就是这个原因。但是很多人会立马反驳,我自己的电脑一直用着好好的,怎么会被篡改了呢?黑客的手段厉害着呢,篡改你的数据库密码不是主要目的,目的是篡改后进入你的数据库备份数据库文件然后删除本地数据库,要挟你索要比特币才是主要目的。
2.数据库权限变更了!
这个原因与你机器的账户权限变更有很大的关系,实际发生场景有很多,就不举例了。
下面就给出两个解决办法,根据个人喜好随便一个都可以
方法一:
编辑mysql配置文件my.ini(在mysql的安装目录下,不同电脑可能不一样,参考目录①D:\Program Files\MySQL\MySQL Server 5.0\my.ini;②C:\ProgramData\MySQL\MySQL Server 8.0\my.ini;),在[mysqld]这个条目下加入 skip-grant-tables 保存退出后重启mysql
1.打开cmd,点击“开始”->“运行”(快捷键Win+R)。
2.停止:输入 net stop mysql
3.启动:输入 net start mysql
也可以在计算机-管理-服务里面找到MySQL的服务,如图

这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现 password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为没有grant权限。
继续按下面的流程走:
1.进入mysql数据库:
mysql> use mysql;
Database changed
2.给root用户设置新密码:
mysql> update user set password=password("新密码") where user="root";
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
3.刷新数据库
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
4.退出mysql:
mysql> quit;
Bye
改好之后,再修改一下my.ini这个文件,把我们刚才加入的 "skip-grant-tables"这行删除,保存退出再重启mysql服务,再重新用Navicat连接就可以了。

方法二:
卸载原有的数据库,包括主程序、注册表和C盘文件夹,但是一定要注意备份C盘C:\ProgramData\MySQL\MySQL Server (你卸载的数据库版本)\data下面的数据库文件,这是你之前数据库表文件等,要恢复数据库必须备份下来,后面才可以恢复数据。此外,此文件夹是默认隐藏的。
复制data文件夹下面你之前创建的数据库,名字都是对应的,你有印象就能知道哪个是你创建的数据库,还有三个文件也是必须备份的,看图:

备份这些文件后,卸载原来的数据库程序并删除文件夹和注册表,重装数据库后关闭数据库服务,把备份的文件放入对应的位置,有重名的点击替换,然后再重启数据库服务。这个时候打开数据库,你就会发现原来的数据库已经都出现了,完全一模一样!
边栏推荐
- [redis] cache warm-up, cache avalanche and cache breakdown
- 太阳底下无新事,元宇宙能否更上层楼?
- 栈应用(平衡符)
- [how to earn a million passive income]
- Libuv Library - Design Overview (Chinese version)
- Golang — 命令行工具cobra
- Mysql:insert date:SQL 错误 [1292] [22001]: Data truncation: Incorrect date value:
- Disruptor -- a high concurrency and high performance queue framework for processing tens of millions of levels
- SwiftUI 开发经验之作为一名程序员需要掌握的五个最有力的原则
- Unity embeddedbrowser browser plug-in event communication
猜你喜欢

Golang - command line tool Cobra

Unity EmbeddedBrowser浏览器插件事件通讯

Kivy教程之 如何自动载入kv文件

使用Tensorflow进行完整的深度神经网络CNN训练完成图片识别案例2

JVM系列——概述,程序计数器day1-1

The solution of Chinese font garbled code in keil5

刚毕业的欧洲大学生,就能拿到美国互联网大厂 Offer?

Flutter动态化 | Fair 2.5.0 新版本特性

Kivy教程之 盒子布局 BoxLayout将子项排列在垂直或水平框中(教程含源码)

双向链表(我们只需要关注插入和删除函数)
随机推荐
物联网毕设 --(STM32f407连接云平台检测数据)
Go: send the get request and parse the return JSON (go1.16.4)
Go language web development series 25: Gin framework: using MD5 to verify the signature for the interface station
Go language web development series 27: Gin framework: using gin swagger to implement interface documents
[bw16 application] instructions for firmware burning of Anxin Ke bw16 module and development board update
Complete deep neural network CNN training with tensorflow to complete picture recognition case 2
Resource Cost Optimization Practice of R & D team
[technology development-24]: characteristics of existing IOT communication technology
Setting up remote links to MySQL on Linux
项目协作的进度如何推进| 社区征文
Go language web development series 26: Gin framework: demonstrates the execution sequence of code when there are multiple middleware
MySQL 数据处理值增删改
Unity Render Streaming通过Js与Unity自定义通讯
Flutter dynamic | fair 2.5.0 new version features
Golang - command line tool Cobra
GoLand 2021.2 configure go (go1.17.6)
【被动收入如何挣个一百万】
User and group command exercises
mysql中的字段问题
Mycms we media mall v3.4.1 release, user manual update