把你的HOST字段改成 % ,表示任何地址的都可以用此帐号登录,或你也可以定IP

解决方案 »

  1.   

    是把user表里面的host字段改成%吗?好像不行!
      

  2.   

    首先我们应该知道MySQL数据库中的口令存储必须用Password()函数加密它。
    因为在user表中是以加密形式存储口令,而不是作为纯文本。
    如果你没有加密,直接在数据库中执行以下语句:USE mysql 
    INSERT INTO user (Host,User,Password) VALUES('%','user_name','your password'); 
    FLUSH PRIVILEGES;
     
    相信结果将会令你很失望。
    因为服务器比较的是加密的值,所以服务器连接一定失败。
    这里需要说明的是“FLUSH PRIVILEGES;”这条命令,
    它起到了重新加载授权表的作用。
    你也可以在shell下直接用 mysqladmin -u root reload
    或者 mysqladmin -u root flush-privileges 来实现重载授权表。在MySQL环境下,你可以使用以下语句进行设置密码:
       1、INSERT INTO user(Host,User,Password) VALUES('%','user_name',Password("your password"); 
       2、SET PASSWORD FOR user_name = password("your password") 
    以上两种方法都必须进行重载授权表。 
       3、当然你也可以在创建一个用户时直接设置密码,grant语句将为你自动加密口令. 
          如 grant all on *.* to user_name@% identified by "your password"; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>mysql>INSERT INTO user VALUES ('192.168.0.%',
    '123',PASSWORD('456'),'Y','Y','Y','Y','Y','Y','N','N','N','N','N','N','N','N');
    mysql>FLUSH PRIVILEGES; 
    ->新建一个名为“123”/密码“456”的用户,他可以从局域网中登录,具有
    ->Select、Insert、Update、Delete、Create、Drop权限或
    mysql>GRANT ALL on *.* to [email protected].%  identified by "456";