Chinaunix首页 | 论坛 | 博客
  • 博客访问: 262159
  • 博文数量: 44
  • 博客积分: 1431
  • 博客等级: 上尉
  • 技术积分: 558
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-24 12:53
文章分类
文章存档

2012年(1)

2011年(28)

2010年(15)

分类: Mysql/postgreSQL

2011-07-22 17:35:11

    今天Red Hat Enterprise Linux 6.0上跑得mysql神不知鬼不觉地执行mysql -u root -p登录时,报出了错误:Access denied for user 'root'@'localhost' (using password: YES),但服务器每有做任何的改动,昨天还跑得好好的,也不晓得什么原因。在网上查找了下原因,找到一篇文章提供了如下的解决方法:
# /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
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>

mysql>
    说明:执行第二个命令后,一直会停留不会退出,手动敲下回车键即可。
    这个方法实际就是更改root的密码,只是我按部就班的敲了上面的命令,仍然报错误:Access denied for user 'root'@'localhost' (using password: YES).
    后来查找了好久,才发现这篇文章的方法少了一点点,在我的机器环境是少了一个命令,可能具体的实际环境不一样吧。
    最终自己的解决方法如下:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('123456') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> grant all on *.* to 'root'@'localhost' identified by '123456'; (localhost可以是ip,如果不限制ip,则用%)
mysql> FLUSH PRIVILEGES;

mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>

mysql>
这样就可以了,增加了红色的两句代码。
   
阅读(1927) | 评论(0) | 转发(0) |
0

上一篇:试问魂归处

下一篇:Configure samba server

给主人留下些什么吧!~~