应该是: grant all on *.* to 'user@host' identified by 'password';
or grant all on *.* to 'user@IP' identified by 'password';
默认的情况下,mysql.user 里有一个root用户,它的主机是"localhost",如果你允许远程登录的话它就会新建一个root用户,它对应的主机为"%",见下面:mysql> select user,host from mysql.user;
+------+-----------+
| user | host      |
+------+-----------+
| root | %         |
| root | localhost |
+------+-----------+
2 rows in set (0.13 sec)所以你不能把root用户的主机全部改成"%".

解决方案 »

  1.   

    可是同样的语句我在windows上的mysql就可以,在linux才不行,难道Linux上建一个用户必须同某一台主机绑定在一起吗?%的意思不是说在任意机器上都可以吗?
      

  2.   

    你试着在linux上添加一个用户,并且与mysql用户同组,再允许此用户拥有远程登录的权限