MySQL错误:access denied for user 'root'@'localhost' using password yes

本文详细介绍了如何解决在Windows环境下使用MySQL时遇到的'access denied for user'root'@'localhost' using password yes'错误。通过停止MySQL服务、进入免授权模式更新密码等步骤,最终成功解决了登录问题。

 

因为执行了一个错误操作,导致登陆mysql时出现access denied for user 'root'@'localhost' using password yes 错误,按照以下方式解决的问题:
 
1.首先进入 windows命令行模式,本人的mysql安装在C盘,切换到mysql bin目录下。命令格式如下。
 
cd C:\program files\mysql\mysql server 5.1\bin  
2.停止mysql的服务,敲入下面命令:
 
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqld --defaults-file="C:\Program  
Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables  
   看到如下结果就说明启动成功了
C代码  
Version: '5.1.33-community-log' socket: '' port: 3306 MySQL Community Server  
(GPL)  
3.再打开一个 dos窗口,同样切换到bin目录下
C代码  
C:\Program Files\MySQL\MySQL Server 5.1\bin> mysql -uroot mysql  
  显示结果如下:
C代码  
 Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2  
Server version: 5.1.33-community-log MySQL Community Server (GPL)  
  
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.  

4.继续下面这个步骤,输入:
 
 
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;    
mysql> FLUSH PRIVILEGES;    
mysql> quit    
mysql> mysql -uroot -p    
Enter password: <输入新设的密码newpassword>    
mysql>    
   到此为止,成功更新了密码。
 
linux下的解决办法为:

# sudo /etc/init.d/mysql stop

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# mysql -u root mysql

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';

mysql> FLUSH PRIVILEGES;

mysql> quit

#sudo /etc/init.d/mysql restart

# mysql -uroot -p

Enter password: <输入新设的密码newpassword>

mysql>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值