作者rex5207 (Sizukani)
看板AndroidDev
标题[问题] 透过SSH连线至Mysql拿资料
时间Mon Apr 13 23:41:54 2015
大家好,
目前我想要连线至SSH然後再连到Mysql得到database资料,
可是到
conn = DriverManager.getConnection (url, dbuserName, dbpassword);
这行就会发生exception
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago.
The driver has not received any packets from the server.
Caused by: java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 3306): connect failed: ECONNREFUSED (Connection refused)
试了很多方法结果都还是一样,
目前是在Android Studio上用Java撰写Android的App
请问有人发生过类似的情形吗?
下面我简化之後的code
http://codepad.org/kwwZv05Z
谢谢大家。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.169.189.152
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1428939717.A.F48.html
※ 编辑: rex5207 (1.169.189.152), 04/13/2015 23:43:18
1F:推 Deltaguita: (Connection refused) 127.0.0.1 <<<不太对吧 04/14 00:38
2F:→ Deltaguita: 确认一下你的mysql ip,电脑连跟手机连是不同概念喔 04/14 00:38
你好,这部分我也尝试过,我把localhost换成真实的ip位置後,会有另一个exception
java.sql.SQLException:
Access denied for user 'root'@'180-177-106-21.dynamic.kbronet.com.tw'
(using password: YES)
※ 编辑: rex5207 (180.177.106.21), 04/14/2015 00:57:03
3F:推 asilzheng: 确认一下你的 mysql 主机防火墙有没有开 04/14 01:06
刚刚看了一下,3306的port有打开,
我用sql workbench连SSH到Mysql也可以正确拿到database里面的资料,
http://shaocian.blogspot.tw/2012/11/mysql.html
然後我刚刚看到了这篇,是不是要开放权限给root?
不过我用workbench连Mysql可以拿到资料.....
谢谢
※ 编辑: rex5207 (180.177.106.21), 04/14/2015 01:41:04
4F:→ honochung: 检查一下这帐号权限是否允许any host的来源 04/15 08:32
5F:→ rex5207: 已经解决罗,root权限太大,降低权限就可以 04/15 17:56
6F:推 kiwatami: 用外部ip连资料库吗 要不要考虑写api安全点 04/15 21:54
7F:推 kewang: 请写API,DB应该在防火墙内不能直接存取 04/16 13:32
8F:→ rex5207: 谢谢大家,目前问题已经解决,因为急着Demo,所以先确保 04/16 15:55
9F:→ rex5207: 功能,之後才会用api去抓资料 04/16 15:55