2012-01-13 83 views
0

我做了一个java程序,其中用户将自动插入/从一个mysql数据库中选择行,但无法修改任何现有的行,表,db或privilages。我给自己一个网站,并在1and1.com托管它,但遗憾的是,我发现让一个数据库拥有多个用户并远程连接到数据库是一件痛苦的事(不可能)。1&1与JAVA问题的Mysql连接

我想知道我在这里有什么选择?
我想第一个将获得另一个主机,允许我这样做。
我能想到的唯一的其他选择是,我设法从java发送信息到我的网站,然后连接到数据库的网站。 (不是PHP,HTML的专家,或者我曾经做过的事情(通过在我的GUI上嵌入浏览器或在引擎盖下进行)

这是我第一次尝试创建一个连接到一个在线数据库,所以请好的

注:程序在本地主机工作
1支持无用

+2

呼叫1&1支持并浏览电话系统与**专用服务器**支持团队通话。有时他们不在乎你是否没有专用服务器,他们明显比其他支持人员更了解。 – JCab 2012-01-13 18:52:03

+0

“远程”的意思是什么?最终用户从本地机器直接连接到数据库? – home 2012-01-13 18:59:47

+0

是的,我的想法是让用户连接到我的数据库有一些“安全”的方式。如果可能的话读取atm。我希望至少能够将自己连接到远程数据库。甚至可能允许一些可信的用户连接。仍然这个数据库在最坏的情况下,可以被删除,我不会介意那么多(我可以在另一个备份。用户可以插入信息,然后我可以复制信息的其他地方。 – Juan 2012-01-13 19:07:55

回答

1

几乎所有使用一个数据库(网络)应用程序,其中一个数据库连接到数据库。用户为整个应用程序,为每个应用程序的每个用户拥有不同的数据库用户是一种不常见的设计。

因此,您应该配置一个数据库用户,应用程序用它来读取或写入数据库;此数据库用户独立于应用程序的用户,并由应用程序的所有用户共享。不应该有从应用程序用户到数据库用户的一对一映射。

有不同的原因。其中之一是可扩展性。大多数数据库不能同时处理数千个连接。如果您有一个允许数千个并发用户的Web应用程序,那么您不希望每个用户都拥有一个具有唯一用户名的数据库连接。相反,您希望使用连接池的数量有限的数据库连接;只要其中一个Web应用程序用户需要执行访问数据库的操作,池中的连接就会重新使用。