Host 是个允许的客户端的掩码。比如你只想让202.105.132.xxx 这个区域内的机器能访问mysql,那么就是写成 202.105.132.* 就行了。

解决方案 »

  1.   

    我增加了一个用户:
    host:11.254.3.17
    user:123
    password:456但死活无法连接数据库。mysql_connect("11.254.3.20","123","456")清帮忙
      

  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 ('11.254.3.17',
    '123',PASSWORD('456'),'Y','Y','Y','Y','Y','Y','N','N','N','N','N','N','N','N');
    mysql>FLUSH PRIVILEGES; 
    ->新建一个名为“123”的用户,他可以从局域网中登录,具有
    ->Select、Insert、Update、Delete、Create、Drop权限或
    mysql>GRANT ALL on *.* to [email protected] identified by "456";