如何从另一个IP访问自己的MySQL Server数据库?# Programming - 葵花宝典s*n2014-03-10 07:031 楼sending out emails today asking for availability...
g*52014-03-10 07:032 楼我在自己的笔记本(Linux操作系统)上装了个MySQL Server,我有个Android Apps,需要访问这里面的数据库。我写了个java的测试程序,结果只能在本机上访问数据库。如果换一台电脑(包括连接同一个router的),测试程序就访问不了。我是菜鸟,想来大概有两种原因。一是MySQL的数据库没有设置好;二是防火墙禁止不同的IP来访问。哪位大大能指导一下,我该如何做?谢谢!
a*e2014-03-10 07:033 楼没看懂,是不是应该恭喜一下?【在 s********n 的大作中提到】: sending out emails today asking for availability...
w*z2014-03-10 07:034 楼权限设对了?http://dev.mysql.com/doc/refman/5.1/en/adding-users.html【在 g****5 的大作中提到】: 我在自己的笔记本(Linux操作系统)上装了个MySQL Server,我有个Android Apps: ,需要访问这里面的数据库。: 我写了个java的测试程序,结果只能在本机上访问数据库。如果换一台电脑(包括连接: 同一个router的),测试程序就访问不了。我是菜鸟,想来大概有两种原因。一是: MySQL的数据库没有设置好;二是防火墙禁止不同的IP来访问。: 哪位大大能指导一下,我该如何做?谢谢!
g*52014-03-10 07:036 楼多谢回复!按照你给的连接上说的grant用户新的权限。但是只能在root里select user,host frommysql.user看到。登录到该用户,执行show grants,还是只有localhost的权限。数据库还是访问不了。谢谢!【在 w**z 的大作中提到】: 权限设对了?: http://dev.mysql.com/doc/refman/5.1/en/adding-users.html
L*s2014-03-10 07:037 楼那地方人呆几年就都跑了。【在 s********n 的大作中提到】: sending out emails today asking for availability...
f*y2014-03-10 07:038 楼先ping一下看是不是网络的问题,如果没问题就是权限的问题了。MySQL是要求user Id和IP同时grant的。【在 g****5 的大作中提到】: 我在自己的笔记本(Linux操作系统)上装了个MySQL Server,我有个Android Apps: ,需要访问这里面的数据库。: 我写了个java的测试程序,结果只能在本机上访问数据库。如果换一台电脑(包括连接: 同一个router的),测试程序就访问不了。我是菜鸟,想来大概有两种原因。一是: MySQL的数据库没有设置好;二是防火墙禁止不同的IP来访问。: 哪位大大能指导一下,我该如何做?谢谢!
g*52014-03-10 07:0310 楼多谢多谢!你的第二点说的太对了。昨天夜里我花了5个小时才figure out出来这一点。对于MySQL来说,'user1'@'localhost'跟'user1'@'%'是两个不同的账号,虽然用户名相同。并且在以后grant之后,不会改变host的限制。也就是说我开始用的账号,在创建的时候是'user1'@'localhost',它就永远只能从localhost登录了。所以说,在root里grant all on database_name.* to 'user1'@'%'其实根本没有改变'user1'@'localhost'的访问权限,这个操作是落在了一个原来不存在的账号上了。这也就是为什么从本机登陆到'user1'之后,执行show grants看不到新grant的权限,但是执行showgrants for 'user1'或者在root下执行select user, host from mysql.user能看到用户'user1'有新的权限。最后还有一点,就是把/etc/mysql/my.cnf文件里的bind-address 127.0.0.1给comment了。现在可以畅通无阻的从任何我指定的host或者domain访问数据库了。多谢大家帮忙!【在 f******y 的大作中提到】: 先ping一下看是不是网络的问题,如果没问题就是权限的问题了。: MySQL是要求user Id和IP同时grant的。