InfoQ

交流

讨论:我的mysql哪里有问题?

作者 climby 发布于 2003-07-01 分类:数据库技术

我用win2000的操作系统,PHP和MYSQL都配置正常了。
MYSQL在命令行的方式能用用户名和密码登陆。可是PHP程序用该用户名和密码却无法在本地机登陆。但PHP程序上传到服务器上后,不做任何改动却能打开数据库。服务器上的数据库是从本地机上导入的,都一样。
我在本地机上用PHP打开数据库,显示如下警告:
Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server. Consider upgrading MySQL client in G:wwwvhost.inc on line 19
Could not connect
用户名和密码都没有问题的。
php 源程序为:
$config[mysql_host]="localhost";
$config[mysql_user]="mao";
$config[mysql_pass]="mao_12345";
$config[mysql_db]="mao";
$vhost_link = mysql_connect ($config[mysql_host], $config[mysql_user], $config[mysql_pass]) or die ("Could not connect");[/COLOR]
mysql_select_db ( $config[mysql_db], $vhost_link);
红色文字即为 第19行(抱错行)
请行家帮我分析分析。
奇怪的是,同样的程序,上传到服务器上就没有问题。
还有,如果在本地机上将数据库密码改为空,php程序中密码也改为空
php 程序则能正常打开数据库。



逛论坛交流我的mysql哪里有问题?

加入书签
digg+,
reddit+,
del.icio.us+,
dzone+

8 条回复

回复

应该是你本地的root用户没有设置密码的.. 发表人 冰流星 发表于 07月12日
看我修改以后的内容 发表人 冰流星 发表于 07月12日
那么你进入mysql.user表,看一下有几个.. 发表人 冰流星 发表于 07月12日
有好几个用户,分别为 主机名 | 用.. 发表人 climby 发表于 07月12日
我将其他所有用户都删除,只留下如下用.. 发表人 climby 发表于 07月13日
我还是搞不定啊,请高手帮帮我! 实在.. 发表人 climby 发表于 07月15日
如果你使用update方式对mysql.user表的.. 发表人 冰流星 发表于 07月15日
但是无论如何,在mysql的password字段,.. 发表人 冰流星 发表于 07月15日
  1. 返回顶部

    Re: 我的mysql哪里有问题?

    2003年07月12日 发表人 冰流星

    应该是你本地的root用户没有设置密码的缘故
    同样,询问一下,你在命令行的语句是?
    因为在mysql安装以后会有如下几个用户
    user host password 说明
    root localhost 标准的root用户
    % localhost 匿名用户,本地主机
    root % 用户名是root,任意主机用户
    % % 任意主机,匿名用户
    而你加密,估计是加在了第三个用户上面,而不是第一个,而程序是要求一个用户,所以出错。至于服务器,你上传的只是你的数据资料,用户资料你是不可能上传的(除非主机是你自己的^_^)

  2. 返回顶部

    Re: 我的mysql哪里有问题?

    2003年07月12日 发表人 冰流星

    看我修改以后的内容

  3. 返回顶部

    Re: 我的mysql哪里有问题?

    2003年07月12日 发表人 冰流星

    那么你进入mysql.user表,看一下有几个用户已经它们的主机和密码是什么?

  4. 返回顶部

    Re: 我的mysql哪里有问题?

    2003年07月12日 发表人 climby

    有好几个用户,分别为
    主机名 | 用户名| 密码
    localhost | root | 54545648(第三项为加密密码我就用随意数字代替)
    % | root | 564564656
    localhost | | (用户名和密码都为空)
    % | | (用户名和密码都为空)
    localhost | mao | 56456456

  5. 返回顶部

    Re: 我的mysql哪里有问题?

    2003年07月13日 发表人 climby

    我将其他所有用户都删除,只留下如下用户:
    主机 | 用户名 |
    % | root (第一个用户)
    localhost | mao (第二个用户)
    然后尝试我的程序,仍然出现如下错误:
    Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server. Consider upgrading MySQL client in G:wwwvhost.inc on line 19
    Could not connect

    高手帮帮我啊,我为了这个问题头都弄晕了;

  6. 返回顶部

    Re: 我的mysql哪里有问题?

    2003年07月15日 发表人 climby

    我还是搞不定啊,请高手帮帮我!
    实在让人搞不懂的是:
    当在MYSQL中把MAO的口令改为空,在PHP程序中也改为空,那么程序就能顺利登陆数据库,如果口令不为空,就显示如下警告(肯定不是口令错误):
    Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server. Consider upgrading MySQL client in f:inetpubwwwrootvhost.inc on line 19
    Could not connect

  7. 返回顶部

    Re: 我的mysql哪里有问题?

    2003年07月15日 发表人 冰流星

    如果你使用update方式对mysql.user表的用户修改密码,必须使用password函数而不是直接修改,如:
    update user set password=password("1234") where user="root";是对的
    update user set password="1234" where user="root";是错误,这样的结果事实上1234被反编译就不知道是什么了

  8. 返回顶部

    Re: 我的mysql哪里有问题?

    2003年07月15日 发表人 冰流星

    但是无论如何,在mysql的password字段,看到的是一长串对密码经过加密的字符串,也就是说,你看到的不是你原来密码的样子




  9. 我有话要讲:(可以匿名发表, 发广告的有多远请滚多远!!!)

    昵称: 请输入验证码:


抢着回答

test

test

習憈

> 習慣... > > > 習慣,就是時間累積而來的一種動作。 ...

我想...

起初 我想进大学 想的要死 随后 我巴不得大学赶快毕业 ...

今天约gg出来摊牌

今天一定要约他出来说清楚 哼哼 尽敢推三阻四的不出来,他不来...

大家进来恭喜我呀,哈哈

经过四天的浴血奋战,终于装上了红帽子!!哈哈。。。。。。。 ...

终于ok,分享:高速php+mysql+ftp免费空...

申请地址: http://www.datablocks.net/?action=free_signup ...

如何用php去判断一个select是否改变呢?

如何用php去判断一个select是否改变呢?

PHP与JavaScript混用时怎样使结构更好?

以下代码的 if 语句被JavaScript冲断,有更好的方法码?

在XP下配置mysql

xp profressional下配置总不成功

php文件向自己post数据的安全问题

向php向自己post数据的时候,只要别人把这个php存为本地文件,post...

[]