mysql4.1以上版本连接时出现问题解决办法
今天安装LAMP之后,更改了mysql的root密码,在使用phpmyadmin软件来管理数据库的时候出现如下错误
clearcase/" target="_blank" >cc0033" size="1">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,试试看。一定就可以成功进入了。