现在的位置: 首页 > 综合 > 正文

Access denied for user ‘root’@'localhost’

2019年03月14日 ⁄ 综合 ⁄ 共 3881字 ⁄ 字号 评论关闭

关于昨天下午说的MySQL服务无法启动的问题,解决之后没有进入数据库,就直接关闭了电脑。

今早打开电脑,开始-运行 输入“mysql -uroot -pmyadmin”后出现以下错误:
“Access denied for user 'root'@'localhost' (using password:YES)”
直接输入“mysql” 也回报类似的错误:应该是:
“Access denied for user 'ODBC'@'localhost' (using password:NO)”具体的不记得了,貌似是这个。
关于这个问题,找了很久的解决方案,也换了盘符重装了好几次,问题依旧。
有网上说打开MySQL 的 MySQL 5.5 Command Line Client,在里面进行一系列的操作即可。但是此界面进来就要输入密码:
无论输入什么都直接退出。没撤了。
(哦,对了,期间,我还试过,在安装MySQL的时候不设置密码。安装成功后,还是报错。)
网上看了一大堆的解决办法,都不行。最后,结合一些办法,终于解决问题了。至于我的做法对不对?我不知道,但是确实解决了问题。也许还有其他的更好的解决方案,如果兄弟姐妹们知道的话,希望也能与我分享一下,不胜感激。
解决方案:
1、打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。
2、重启MySQL服务。
3、在命令行中输入“mysql -uroot -p”(不输入密码),回车即可进入数据库。
4、执行,“use mysql;”使用mysql数据库。
5、执行,“update user set password=PASSWORD("rootadmin") where user='root';”(修改root的密码)
(期间我还select下user表中的记录,查询全部的时候显示了一些乱码,然后我只查询了user表中的Host、User、Password字段,貌似当时显示了3条记录,有1个没有名称。当然,为了解决问题,这些我也管不了了。)
6、打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。
7、重启MySQL服务。
8、在命令行中输入“mysql -uroot -prootadmin”,问题搞定!

错误代码 1045
Access denied for user 'root'@'localhost' (using password:YES)

如果你的mysql也出现以上这种提示, 建议你逐个字看完我这篇文章再按以下方法来尝试解决问题.

这是mysql数据库很多时候出现的问题, 网上流传很多解决办法. 有人按照那些方法, 还真可以把问题解决了; 但也有很多人按那些方法解决不了问题! 而这个中原因, 就是没有对症下药!!!

网上的那些方法, 很多都没有明确指出是什么版本的mysql, 所以导致问题者不能对症下药.

出现这个问题, 通过停止/重启 mysql 服务, 是可以解决的, 这个是最简单的办法! 对于不懂得什么叫做"停止/重启mysql服务"的人来说, 这个最简单的办法就是把服务器主机进行重新启动(就是把你的电脑进行重新启动).

以上是方法A! (这个方法适合任何版本的mysql)

 

以下是方法B:(方法仅适用于MySQL4.0.26 版本!!! (我估计, 4.0的其他版本应该也可以的))

网上也有说, 就是对root进行重改密码. 对于网上流传的改密码方法, 也是可行的. 请参考以下:

DOS下修改ROOT密码:当然后面安装PHPMYADMIN后修改密码也可以通过PHPMYADMIN修改

格式:mysqladmin -u用户名 -p旧密码 password 新密码

例:给root加个密码ideacmblog

首先在进入CMD命令行,转到MYSQL目录下的bin目录,然后键入以下命令

mysqladmin -uroot password ideacmblog

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

D:\php\MySQL\bin>mysqladmin -uroot password ideacmblog回车后ROOT密码就设置为ideacmblog了

但是, 请注意了, 以上方法仅适用于MySQL4.0.26 版本!!! (我估计, 4.0的其他版本应该也可以的)

 

方法C:

好了, 扯了那么多, 以上的两个方法都不是我本人测试过的, 本人不对真实性负责!

而现在我说一下本人亲自试过的方法, 以供参考:

话说今天, 我的服务器所有php及使用了mysql数据库的网站, 均挂掉了! 无法打开, 并有以下提示:

错误代码 1045
Access denied for user 'root'@'localhost' (using password:YES)

一开始我也是不断搜索google(我本人不喜欢百度!), 去找寻解决的办法. 看了很多, 也参照执行了, 事实上也是解决不了问题. 后来我想到了是版本的问题, 不同的mysql版本, 解决办法是不一定一样的!!记住...

我的mysql版本是: 5.0.22 (mysql-essential-5.0.22-win32)

今天一整天, 那些php网站均罢工. 到今晚才有时间上去服务器继续寻找方法, 但仍然解决不了.

最后, 我决定把mysql卸掉重新安装!

卸载很快, 而且不需要重新启动计算机.

于是, 继续进行安装.

第一步: 打开这个mysql-essential-5.0.22-win32.exe文件;

第二步: 见到窗口弹出, 并点击 Next> 进入下一步;

第三步: 选择 Custom 项, 并点击 Next> 进入下一步;

第四步: 到这一步要注意了, 点击 Change... 选择你原安装mysql的目录; 选择后, 继续点击Next> 进入下一步;

第五步: 点击 Install 进行安装...

安装至下一步, 会提示你进行注册, 选择最后一项, 即跳过注册, 进入下一步正式完成安装.

安装完成后, 继续弹出一个窗口, 提示你是不是立刻进行配置, 选择 Next

选择Standard Configuration.继续点击 Next 进入下一步

这一步里, 把上面那行的勾去掉, 只在 Include ....PATH 那行打勾, 继续点击 Next 进入下一步

在这一步, 点击中间的"Ex****"那顶, 接着配置完毕!

这时候, 你去看看你的mysql正常了没有?? !!

这样就ok了!!!

解决Access denied for user 'root'@'localhost' (using password: YES) 方法  

2012-09-12 19:12:15|  分类: 网站技术 |  标签:数据库连接不上  |举报|字号 订阅

ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES) 
之前修改了root密码,后就出现这个错误,大家可以参考着去看一下: 

由于好久才解决好,故把解决方法记录于此,以便今后自己查阅,具体方法就是你在改root密码的时候再加上一句给权限的语句: 
grant all on mysql.* to 'root'@'localhost' identified by 'password'; 
最后那个password即是你要修改的root用户的密码 
刚开始用mysql就给我来了个下马威,前些天完整完数据库后安装手册修改了一下root用户的密码,然后用root用户再登陆是一切OK。可是今天再登陆时就报1045错误代码。 
错误代码  1045 
Access denied for user 'root'@'localhost' (using password:YES) 
我的解决办法是重新设置root用户密码,在Windows平台下操作步骤如下: 
1、以系统管理员身份登录到系统; 
2、如果MySQL服务器正在运行,停止它。 
      如果是作为Windows服务运行的服务器,进入服务管理器:开始菜单->控制面板->管理工具->服务 
      如果服务器不是作为服务而运行的,可能需要使用任务管理器来强制停止它。 
3、创建1个文本文件,并将下述命令置于单一行中: 
      SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword'); 
      用任意名称保存该文件。在本例中,该文件为C:\mysql-init.txt。 
4、进入DOS命令提示:开始菜单->运行-> cmd 
      假定你已将MySQL安装到C:\mysql。如果你将MySQL安装到了另一位置,请对下述命令进行相应的调整。 
      在DOS命令提示符下,执行命令: 
            C:\mysql\bin\>mysqld-nt --init-file=C:\mysql-init.txt 
      在服务器启动时,执行由“--init-file”选项(作用:在启动时从指定的文件中读取SQL命令)命名的文件的内容,更改根用户密码。当服务器成功启动后,应删除C:\mysql-init.txt。 
5、如果起动MySQL服务器出错,把进程mysqld-nt.exe关闭。然后重启它,OK。 
6、或者停止MySQL服务器,然后在正常模式下重启它。如果以服务方式运行服务器,应从Windows服务窗口启动它。如果以手动方式启动了服务器,能够像正常情形下一样使用命令。 
应能使用新密码进行连接。 
windows下修改mysql密码的便捷方法
开始-》运行
mysqladmin -uroot -p password '你的新密码' 

【上篇】
【下篇】

抱歉!评论已关闭.