对不起,可能没有说清楚.
root默认是密码为空的,在这个时候登录没问题.
但我把默认为空的密码改成了19850824qxtUPDATE `user` SET `Password` = PASSWORD( '19850824qxt' ) WHERE `Host` = 'localhost' AND `User` = 'root' LIMIT 1之后再登录,就登录不上了.

解决方案 »

  1.   

    mysql_pconnect()是持久连接链接,重新启动服务器试试。
      

  2.   

    #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