PHP4+MySQL4.1

licalig 2006-02-27 11:17:26
<?php
# MyConnect.php

$hostname = "localhost";
$username = "root";
$password = "";
$connection = mysql_pconnect($hostname, $username, $password) or die ("Can't connect the database!");
if($connection)
{
echo "Connected\n";
echo "<BR>";
$status = explode(' ', mysql_stat($connection));
print_r($status);
}
mysql_close($connection);
?>

在没有给root加密码时,用root能正常登录.
一旦加上密码之后,就无法登录了.

$hostname = "localhost";
$username = "root";
$password = "19850824qxt";

错误提示是这样的:
Warning: mysql_pconnect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in D:\Server\WWW\Test\MyConnect.php on line 7


请高手指点!!!
...全文
93 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2006-02-27
  • 打赏
  • 举报
回复
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client

问题的中文意思:如果你升级mysql到4.1以上版本后遇到以上问题,请先确定你的mysql client 是4.1或者更高版本.(WINDOWS下有问题你就直接跳到下面看解决方法了,因为MYSQL 在WINDOWS是client和server一起装上了的)

解决方法:

请使用以下四种方法之一

其一:

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


实例:mysql数据库用户名为'abc',密码为'123456',则按上面例子在服务器mysql命令行窗口中实际实施的语句如下:
mysql> SET PASSWORD FOR
-> 'abc'@'localhost' = OLD_PASSWORD('123456');


注意语句后的英文半角分号";"不可缺少。

其二:

mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;


实例:mysql数据库用户名为'abc',密码为'123456',则按上面例子在服务器mysql命令行窗口中实际实施的语句如下:


mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('123456')
-> WHERE Host = 'localhost' AND User = 'abc';
mysql> FLUSH PRIVILEGES;

注意语句后的英文半角分号";"不可缺少。
其三:(推荐,其实和第二种是一样的) mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('连接用户的密码') -> WHERE User = '要连接的用户名';mysql> FLUSH PRIVILEGES; 实例:mysql数据库用户名为’abc’,密码为'123456',则按上面例子在服务器mysql命令行窗口中实际实施的语句如下: mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('123456') -> WHERE User = 'abc'; mysql> FLUSH PRIVILEGES; 注意语句后的英文半角分号";"不可缺少。 其四:更新PHP里MySQL模块的版本以支持新版本的MySQL


lvlfforever 2006-02-27
  • 打赏
  • 举报
回复
mysql_pconnect()是持久连接链接,重新启动服务器试试。
licalig 2006-02-27
  • 打赏
  • 举报
回复
对不起,可能没有说清楚.
root默认是密码为空的,在这个时候登录没问题.
但我把默认为空的密码改成了19850824qxt

UPDATE `user` SET `Password` = PASSWORD( '19850824qxt' ) WHERE `Host` = 'localhost' AND `User` = 'root' LIMIT 1

之后再登录,就登录不上了.
bigluckyfox 2006-02-27
  • 打赏
  • 举报
回复
root本来就是空密码
xwsn 2006-02-27
  • 打赏
  • 举报
回复
说的好棒!

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧