解决:MySQL 报错:1045 - Access denied for user 'root'@'localhost'(using password YES)
一、前言
今年疯狂迷上了开源,只要看到好的开源项目,就会不顾一切一股脑扎进去研究,五一期间发现一个很好的关于众筹的开源项目,但不巧,这个项目竟然是 PHP 写的,没学过 PHP,自然对这个开源项目毫无头绪了,但我竟然为了这个项目,毅然决定入坑 PHP,于是就出事了...
说时迟那时快, 2 小时入门 PHP,2 小时入门 ThinkPHP,鉴于我一直在研究 Java 的原因,所以不费吹灰之力就顺利入坑。通过了解,PHP 开发必备环境是 PHP、Apache、MySQL以及一个好用的 IDE ,IDE 还是很好找的,我选择了 JetBrains 的 PhpStorm,而其他环境就是集全部功能于一身的 WampServer 了,安装完准备建数据库建表,打开 Navicat ,错误开始...
二、错误描述
MySQL 报错:1045- Access denied for user 'root'@'localhost'(using password YES)
如下图所示:
三、错误原因
安装了 WampServer 这个集 PHP 开发环境于一身的神器后,里面的 MySQL 网页管理软件 phpMyAdmin 使得数据库的 root 用户权限发生改变,也可以说是由于两者的密码不一致导致密码错乱有了这个错误(我自己理解),因为 phpMyAdmin 安装完成后的默认密码是空的。
四、错误解决
直接充值密码即可解决数据这个报错问题。
首先,停止掉数据的运行,这个我相信大家都可以做到了,可以直接从管理服务程序中停止,也可以直接在 cmd 命令窗口输入命令 net stop mysql 来停止。
然后进入 MySQL 的安装路径,找到并打开 my.ini 文件,找到 [mysqld] 字段,在这个字段下面增加下面这个语句:
skip_grant_tables
紧接着重启数据库,这个我相信大家也可以做到了,可以直接在管理服务程序中开启,也可以直接在 cmd 命令窗口中输入命令 net start mysql 来开启,进而在命令窗口执行一下命令,重置密码:
update user set password='root' where user='root'
当然,我是直接将密码重置为 root,反正这个密码大家自定义就好,不过要记住密码。
最后就是再次停止数据库的运行,返回前面提到的 my.ini 文件去掉 skip_grant_tables 字段后保存,再次重启数据库就可以成功解决这个 MySQL 的报错了。
五、问题继续
我在第四部完美的解决了命令窗口启动进入数据的这种报错,然后当我重新进入 Navicat 打开本地建立的连接的时候,继续报同样的错误,也就是说错误并没有解决,很纳闷,为啥命令行可以顺利操作数据库不报错,进入 Navicat 客户端就报错呢?
折腾半天,发现在 root 权限错乱而重置密码之后,在 Navicat 中已经建立的连接是不可逆的。
折腾半天,发现解决办法也很简单,要么删除连接后重新建一个连接,当然,删除连接后并不会已经建立的数据库,要么重装 Navicat ,至于选哪一种,自行选择,我都试过,都可以成功解决 Navicat 报这个错误。
六、问题再来
当本地的错误完美解决之后,我打开 phpMyAdmin 网页,竟然报了一个与前面的错误很相似却又有异的错误,错误如下:
1045- Access denied for user 'root'@'localhost'(using password NO)
当我把本地的 phpMyAdmin 配置文件中的密码也设置为 MySQL 数据库的密码后,打开后还是继续报同样的错误,不断打开不断报错,又折腾半天,最后在 StackOverFlow 上找到了解决办法:直接清除浏览器的 Cookie 缓存就可以解决这个问题。也就是说,我本地的配置是没有任何错误的,而打开网页继续报错的原因是之前报错时浏览器已经把 phpMyAdmin 的登录密码缓存到了 Cookie之中。
好了,所有问题完美解决,特此记录。
解决完这个问题我们明白,如果遇到某些错误精心想想,而不是一股脑扎进错误之中研究错误,可能半小时就可以解决问题了,也不至于折腾一个半天后又折腾一个半天咯。
扫描二维码关注微信公众号,了解更多
-----------------------------------------------------------
解决:MySQL 报错:1045 - Access denied for user 'root'@'localhost'(using password YES)的更多相关文章
- 【linux】Centos下登陆mysql报错#1045 - Access denied for user 'root'@'localhost' (using password: NO)
创建mysql 远程链接 grant all privileges on *.* to 'test'@"%" identified by "test666 with g ...
- 解决MySQL报错:Access denied for user ‘root’@‘localhost’(using password: YES)
Windows 10(mysql5.1) 修改配置文件 找到MySQL安装目录下配置文件my.ini(在我的win10环境下,其路径为C:\ProgramData\MySQL\MySQL Server ...
- Win7环境下mysql报错1045:Access denied for user root@localhost错误解决方法
产生场景:在涉及到连接数据库操作的时候,会报1045:Access denied for user root@localhost. 比如:本地建立的数据库连接不上,在IDEA等开发工具中使用反向生成. ...
- 远程连接Linux mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决方法
在新安装好的Centos7上刚安装好mysql,准备进去看看,但是登陆的时候,发现报错啦: ERROR 1045 (28000): Access denied for user 'root'@'loc ...
- idea 连接mysql报错:Access denied for user 'root'@'localhost'(using password:YES)。
这两天在idea中开发Web项目时,连接MYSQL数据库,出现问题:Access denied for user 'root'@'localhost'(using password:YES). ...
- 启动报错:Access denied for user 'root'@'localhost' (using password:YES)
项目启动报错:Access denied for user 'root'@'localhost' (using password:YES) 原因:root帐户默认不开放远程访问权限,所以需要修改一下相 ...
- Windows mysql提示:1045 access denied for user 'root'@'localhost' using password yes
Windows mysql提示:1045 access denied for user 'root'@'localhost' using password yes http://blog.csdn.n ...
- Mysql相关问题-----1045 Access denied for user 'root'@'localhost' (using password: YES)报错
MySQL 连接错误,使用Navicat连接MySQL出现错误:1045 Access denied for user 'root'@'localhost' (using password: YES) ...
- windows mysql提示:1045 access denied for user 'root'@'localhost' using password yes 解决方案
win7 MySql5.6.17提示:1045 access denied for user 'root'@'localhost' using password yes 从网上找到的解决方法,以此博客 ...
- vue项目中连接MySQL时,报错ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password:YES)
一.前言 我们前端很多时候在写vue项目的时候,会把后端的数据拿到本地来跑,在连接MySQL数据库的时候,可能出现一些问题,如: ER_ACCESS_DENIED_ERROR: Access deni ...
随机推荐
- 剑指Offer——动态规划算法
剑指Offer--动态规划算法 什么是动态规划? 和分治法一样,动态规划(dynamic programming)是通过组合子问题而解决整个问题的解. 分治法是将问题划分成一些独立的子问题,递归地求解 ...
- javascript之事件模型
事件模型 冒泡型事件(Bubbling):事件由叶子节点沿祖先节点一直向上传递到根节点 捕获型事件(Capturing):由DOM树最顶元素一直到最精确的元素,与冒泡型事件相反 DOM标准事件模型:D ...
- UNIX网络编程——并发服务器(TCP)
在迭代服务器中,服务器只能处理一个客户端的请求,如何同时服务多个客户端呢?在未讲到select/poll/epoll等高级IO之前,比较老土的办法是使用fork来实现. 网络服务器通常用fork来同时 ...
- iOS学习新知识-加速计和陀螺仪
一.CoreMotion框架介绍 我们知道有一些iOS的应用,会有一些特殊的要求,比如: 电子罗盘指南针之类的应用:让我们知道方向. 运动类型软件:让我们知道我们跑步多少公里. 社交软件中的摇一摇功能 ...
- Linux0.11中对文本文件进行修改的策略
现在,假设 hello.txt 是硬盘上已有的一个文件,而且内容为 "hello, world" ,在文件的当前指针设置完毕后,我们来介绍 sys_read , sys_write ...
- MinerConfig.java 爬取配置类
MinerConfig.java 爬取配置类 package com.iteye.injavawetrust.miner; import java.util.List; /** * 爬取配置类 * @ ...
- 反对抄袭 正解spring的@Autowired 不要相信网上的错误版本
首先,最重要的, @Autowired的就是用来来消除 set ,get方法. 有些介绍,如著名的马士兵,说要在set方法上进行注入.我当时就看不明白了,既然只取消了一个GET,这个@Autowire ...
- [问与答]Python 中 __all__ 的作用 ?
你要是看Python的源码或者相关框架的源码,总是在 __init__.py 或者是源文件的开头看到一个 __all__ 变量的定义,今天就说说它的作用. orangleliu 问题出处 Can so ...
- React Native开发必备的10个插件包
Sublime Text 具有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等.Sublime Text 更妙的是它的可扩展性.所以,这里挑选了全栈开发必备的10款 Sublime T ...
- shell脚本处理长参数的模板
shell脚本处理长参数的模板 一个shell模板,处理命令行参数,支持长短参数: #!/bin/bash # # FILE: kvm-clone-v2.sh # # DESCRIPTION: Clo ...