Web
2005-03-31
MySQL 4.1客户端协议验证方式的变化
今天改了一下Mysql的密码,结果应用就连结不了数据库了:
给出的错误提示是:
Google搜索了一下,从MYSQL的网站得知:
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也就能正常使用了。
给出的错误提示是:
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)
.
历史上的今天
- 2019-03-31 分析报告: 2014年的商业和开源数据库DBMS销售收入
- 2017-03-31 防范攻击 加强管控 - Oracle数据库安全的16条军规
- 2011-03-31 成本与企业生存 - 由厉建宇的辞职信想到的
- 2007-03-31 接受邀请 成为CSDN专家顾问
- 2007-03-31 LGWR与AIX上的进程优先级
- 2006-03-31 转眼又是一年
Thanks for the extra info
I am glad it's useful.