Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1389414
  • 博文数量: 140
  • 博客积分: 8518
  • 博客等级: 中将
  • 技术积分: 1822
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-01 22:23
个人简介

嘿嘿!

文章分类
文章存档

2016年(2)

2015年(5)

2014年(6)

2013年(11)

2012年(11)

2011年(3)

2010年(4)

2009年(4)

2008年(8)

2007年(23)

2006年(26)

2005年(37)

分类: LINUX

2005-09-01 01:01:06

mysql4.1以上版本连接时出现问题解决办法

今天安装LAMP之后,更改了mysql的root密码,在使用phpmyadmin软件来管理数据库的时候出现如下错误

Client does not support authentication protocol。

开始怀疑是我的配置出了问题,然后我重新建立了一个跟root权限一样的用户,更改了密码之后仍然出现上述错误。翻阅了相关资料后,发现

应该说这是Mysql的一个bug。因为我是从source安装的,所以不存在客户端版本的问题。解决方法如下:

今天安装LAMP之后,更改了root密码,在使用phpmyadmin软件来管理数据库的时候出现如下错误

Client does not support authentication protocol。

开始怀疑是我的配置出了问题,然后我重新建立了一个跟root权限一样的用户,更改了密码之后仍然出现上述错误。翻阅了相关资料后,发现应该说这是Mysql的一个bug。因为我是从source安装的,所以不存在客户端版本的问题。

官方的说法是

MySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients. .....

解决方法如下:

其一:

mysql> SET PASSWORD FOR
    -> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

其二:

mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
    -> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
上面红色的部分请按自己实际情况修改....
这样做后,连接就会正常了@!
譬如:
[root@localhost]#mysql -uroot -p1234567   (1234567为我更改后的密码,注意在更改密码之后如果不进行如下操作,即使更改了config.inc.php文件中的pwd为1234567也是无济于事)
mysql> SET PASSWORD FOR
    -->'root'@'localhost' = OLD_PASSWORD('1234567');
mysql>quit
[root@localhost]#
  然后更改你的phpMyadmin的config.inc.php文件,将配置中的密码改为1234567,试试看。一定就可以成功进入了。
阅读(2175) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~