|
|
|
|
|
|
g****5 发帖数: 1639 | 1 我在自己的笔记本(Linux操作系统)上装了个MySQL Server,我有个Android Apps
,需要访问这里面的数据库。
我写了个java的测试程序,结果只能在本机上访问数据库。如果换一台电脑(包括连接
同一个router的),测试程序就访问不了。我是菜鸟,想来大概有两种原因。一是
MySQL的数据库没有设置好;二是防火墙禁止不同的IP来访问。
哪位大大能指导一下,我该如何做?谢谢! | w**z 发帖数: 8232 | 2 权限设对了?
http://dev.mysql.com/doc/refman/5.1/en/adding-users.html
【在 g****5 的大作中提到】 : 我在自己的笔记本(Linux操作系统)上装了个MySQL Server,我有个Android Apps : ,需要访问这里面的数据库。 : 我写了个java的测试程序,结果只能在本机上访问数据库。如果换一台电脑(包括连接 : 同一个router的),测试程序就访问不了。我是菜鸟,想来大概有两种原因。一是 : MySQL的数据库没有设置好;二是防火墙禁止不同的IP来访问。 : 哪位大大能指导一下,我该如何做?谢谢!
| g****5 发帖数: 1639 | 3 多谢回复!
按照你给的连接上说的grant用户新的权限。但是只能在root里select user,host from
mysql.user看到。登录到该用户,执行show grants,还是只有localhost的权限。数
据库还是访问不了。
谢谢!
【在 w**z 的大作中提到】 : 权限设对了? : http://dev.mysql.com/doc/refman/5.1/en/adding-users.html
| f******y 发帖数: 2971 | 4 先ping一下看是不是网络的问题,如果没问题就是权限的问题了。
MySQL是要求user Id和IP同时grant的。
【在 g****5 的大作中提到】 : 我在自己的笔记本(Linux操作系统)上装了个MySQL Server,我有个Android Apps : ,需要访问这里面的数据库。 : 我写了个java的测试程序,结果只能在本机上访问数据库。如果换一台电脑(包括连接 : 同一个router的),测试程序就访问不了。我是菜鸟,想来大概有两种原因。一是 : MySQL的数据库没有设置好;二是防火墙禁止不同的IP来访问。 : 哪位大大能指导一下,我该如何做?谢谢!
| g****5 发帖数: 1639 | 5 多谢多谢!你的第二点说的太对了。昨天夜里我花了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的权限,但是执行show
grants 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的。
|
|
|
|
|
|
|