回 帖 发 新 帖 刷新版面

主题:求助:php连接MySQL的问题

运行环境如下:
Apache 2.0.55
PHP 4.4.2
MySQL 5.0
命令提示符下进入MySQL可以进行数据库操作 
在浏览器中输入Http://localhost可以访问常规PHP页面.
mysql服务已开启,并有mysql.exe,mysqld-nt.exe进程.
进行测试时输入以下语句:
<?php
$db=mysql_connect("localhost","root","123");
if ($db)
{
    echo "connect sql success.";
}
else    echo "connect sql fail.";
?>

出现有以下警告:
Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in F:\My Documents\Web\test.php on line 10

如果在mysql_connect()前加'@'也会显示:"connect sql fail";

请教大家这是什么原因?

回复列表 (共1个回复)

沙发

这是新版Mysql密码算法不同导致
Client does not support authentication protocol requested by server
错误的,你可以做如下选择:
1)使用PHP5,用php_mysqli.dll,而不是以前的php_mysql.dll
2)将MySql的密码改用原来的那套算法,如下: 
update mysql.user set password = old_password('newpwd')
where host = 'localhost' and user = 'root';
看到了 关键是用了Old_password()函数,将你新的密码重新加密
然后flush priviledges;
ok,重新登陆,搞定!

我来回复

您尚未登录,请登录后再回复。点此登录或注册