eygle Eygle.
Web 2005-03-31

MySQL 4.1客户端协议验证方式的变化

今天改了一下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 -h -p
输入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 2005-03-31 21:54 评论 (2)
eygle
eygle

前Oracle ACE Director,云和恩墨创始人。技术为骨,历史为脉,人文为魂。

返回首页

2 Comments

Thanks for the extra info

I am glad it's useful.