« 徒步上班的清晨 | Blog首页 | 进京两周年记-Eygle在北京的生活 »
MySQL 4.1客户端协议验证方式的变化
作者:eygle |【转载时请务必以超链接形式标明文章原始出处和作者信息及本声明】链接:http://www.eygle.com/archives/2005/03/mysql_41ieeoene.html
今天改了一下Mysql的密码,结果应用就连结不了数据库了:
给出的错误提示是:
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Google搜索了一下,从MYSQL的网站得知:
MySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients. If you upgrade the server to 4.1, attempts to connect to it with an older client may fail with the following message...
MySQL 4.1 及其后版本验证协议使用的密码哈希算法与老的客户端不兼容。
如果升级到4.1以后使用一个老的客户端连接就会出现上面的提示信息了。
还好MySQL还给出了兼容老客户端的解决方法:
首先登录进shell, 执行
mysql -u
输入user的密码登入。
然后执行:
SET PASSWORD FOR 'user'@'host' = OLD_PASSWORD('password');
把user, host(通常都是localhost), password替换成你的,以后再使用PHPMyAdmin也就能正常使用了。
bash-2.05b$ mysql -u root -p -hwww.eygle.com
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 4.1.3-beta-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> connect eygle
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Connection id: 10
Current database: eygle
mysql> connect mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Connection id: 11
Current database: mysql
mysql> SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('eygle');
Query OK, 0 rows affected (0.00 sec)
By eygle on 2005-03-31 21:54 | Comments (2) | Posted to Web | Edit |Pageviews:
| 相关文章 | 随机文章 |
|
决心修订《深入浅出Oracle》一书 《深度解析Oracle》之《Oracle优化工具》 RAC相关的一则DBA招聘需求 DBA警世录:备份重于一切 江湖传闻:猫扑将与华友世纪合并 |
网上相关主题:
留言 (2)
Thanks for the extra info
Posted by: zzcoke.com at December 29, 2005 11:54 AM
I am glad it's useful.
Posted by: eygle at January 3, 2006 4:32 PM
