LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1143|回复: 1

请问怎样才能连接上服务器端的 MYSQL,(两者不在同一台机子上)

[复制链接]
发表于 2006-8-20 17:57:15 | 显示全部楼层 |阅读模式
客户机:10.187.82.168
主机:10.187.82.130


/*mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) == NULL)*/
mysql_real_connect(&my_connection, "10.187.82.130", "root", "","tempdatabase",0,NULL,CLIENT_FOUND_ROWS);


错误提示信息:
Connection failed
Connection error 1130: Host '10.187.82.168' is not allowed to connect to this MySQL server
请问怎么解决?
 楼主| 发表于 2006-8-21 14:09:40 | 显示全部楼层
自己解决了.
可以查看http://blog.csdn.net/bat603/archive/2006/08/20/1100550.aspx
1.创建一个新用户floydlee.
[root@rainfish root]# useradd -g mysql floydlee
[root@rainfish root]# mysql

2.进入mysql,格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";
grant select,update,insert,delete on *.* to floydlee@10.187.82.130 identified by "floydlee";
   查看结果,执行:
   use mysql;
   select host,user,password from user;
   可以看到在user表中已有刚才创建的floydlee用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
   将host字段的值改为%就表示在任何客户端机器上能以floydlee用户登录到mysql服务器,建议在开发时设为%。
   update user set host = '%' where user = 'floydlee';
2、退出 mysql.
[root@rainfish root]#mysqladmin -uroot -p(密码) reload(若没有密码则不用输入 - p)
[root@rainfish root]#mysqladmin -uroot -p(密码) shutdown
a.[root@rainfish root]#mysqld_safe --user=root &
记住:对授权表的任何修改都需要重新reload,即执行第a步。
(由于操作完上面两步已经可以连接了,所以下面的也没有用,但是还是写出来供大家参考)
如果经过以上3个步骤还是无法从客户端连接,请执行以下操作,在mysql数据库的db表中插入一条记录:
use mysql;
insert into db values('192.168.88.234','%','xuys','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
update db set host = '%' where user = 'xuys';
重复执行上面的第2步。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表