Host ... is not allowed to connect to this MySQL server
在做集群数据库负载测试。
用vmware ,OS Red Hat 5.0企业版,三台虚拟机
1.做ndb_mgmd IP 192.168.1.112
2.做NDB      IP 192.168.1.111 
3.做NDB      IP 192.168.1.110 (master)
我本机的OS ,xp sp3
集群已经建立成功,能够同步数据,但是我在xp上写个远程连接MYSQL就报错,我用的 C API ,连接数据库指向192.168.1.110 
port :3306。
报错:Host '192.168.1.110'is not allowed to connect to this MySQL server
我已经把所有防火墙或者SESHELL禁用了
telnet 192.168.1.110 3306
有几次能联通,现在又不行了
请问怎么解决,网上说权限问题,试过了,好像不管用

解决方案 »

  1.   

    用root账号登录
    授权的时候,
    GRANT ALL PRIVILEGES ON db.* TO username@'192.168.1.110/255.255.255.0';
      

  2.   

    您说用root登陆是指服务器上的?还是xp上的MYSQL?要是服务器上的,是哪一台?master吗?
      

  3.   

    今天白天我试着用GRANT ALL PRIVILEGES ON这种方法修改权限,结果show databases;下面没有mysql这个数据库了
    最后有得重做系统
      

  4.   

    按照你说的方法,我改了权限,运行连接,出来一个这句话,还是连接不上,是怎么回事啊?
    Client does not support authentication protocol reuqested by server;consider upgrading MySQL client
      

  5.   

    GRANT ALL PRIVILEGES ON db.* TO username@%试一下,这样可以看是权限的问题还是网络的问题
      

  6.   

    我在客户端上的MYSQL上用了
    mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
       WHERE  User = 'usrname';
    mysql>flush privileges;
    这里的newpwd,username跟服务器上的对应,都是 -u root,-p '123456'
    用C API mysql_real_connect(conn,"192.168.1.110","root","123456","test",3306,NULL,0))
    还是连不上
    但是telnet可以连接上了我刚才下了个ODBC驱动,用来做连接测试能够成功
      

  7.   

    搞定了,还是版本的问题,mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd') 
      WHERE  User = 'usrname'; 
    mysql>flush privileges;
    就行,要在 client/server都做一遍