附配置清单:
mysql1.4tomcat5mm.mysql-2.0.4-bin.jarwindowsXP

解决方案 »

  1.   

    用户名或密码错误时也会出现此报错
    你的sql语句很奇怪啊,是不是意思
    update user set Password='PASSWORD' where User='root' ?
      

  2.   

    通过SQL命令设置MYSQL用户密码必须要使用PASSWORD()函数啊
      

  3.   

    可能是各位都没有经历过这个问题.
    研究了一下午,最后找出了问题所在,
    问题出在'root'@'localhost'上.查看下"mysql"数据下的user表,发现里面有两个"root"帐户.一个在"Host"中指定了为本地用户(localhost),而另一个root在Host中没有值(也就是说可以是任何一台主机上的).
    当在"本地主机"上进行调试时,访问数据库(jdbc:mysql://localhost/test","root","")时所用到的root帐户并没有指定是本地用户(localhost)或是其他主机上的用户.所以MYSQL在用户访问验证的时候就产生混系了.到底是root@localhost还是root@anywhere?(这两个用户是各自独立的).最终造成MYSQL无法为发送请求的用户提供服务.我在更改root帐户密码时没有指定该帐户的Host的值.
    所以使用sql命令修改root帐户应该指定是本地root帐户还是远程root帐户.正确的SQL命令:
    update user set Password=PASSWORD('***') where User='root' and Host="不填则为任意主机"所以,为了方便区分帐户,最好命名两个不同的管理员帐户来进行本地管理或远程管理.