MySQL服务器连接错误?

时间:2014-05-06 09:19:36

标签: java mysql

我的程序可以连接到localhost MySQL server以从中获取数据。但是当我将数据库上传到服务器上时,我再也无法连接了。

final static String db_url = "jdbc:mysql://***.***.***.***:3306/oyutan";

String card = cardnumber.getText();
String pinn = pincode.getText();
String pindb = null;
String pinsql = "SELECT *  FROM `card` WHERE `card_number`=" + card + ";";
try {
    Class.forName(jdbc_driver);
    con = DriverManager.getConnection(db_url, "bilig", "199108");
    ps = con.prepareStatement(pinsql);
    rs = ps.executeQuery();
    if (rs.next()); {
        pindb=rs.getString("code")+"";
        cardnumber.setText(" ");
        pincode.setText(" ");
    }
}
catch(Exception g) {
    System.out.println("Not Found!");
    g.printStackTrace();
}

我可以使用命令行访问数据库,但这会导致错误&#34;主机&#39; 。< / EM> &#39;不允许连接到这个MySQL服务器&#34;。我给了自己所需的所有特权。我是否需要其他程序,例如TomcatApache等?

2 个答案:

答案 0 :(得分:0)

是本地的数据库服务器吗? 我的意思是你的代码是localhost吗?

如果没有,您需要将主机添加到您正在使用的用户名,即您的代码将运行的IP,因此db-server允许此用户从远程计算机进行连接。

答案 1 :(得分:0)

  

我给了自己所需的所有特权。

显然MySQL不同意你的观点。

您授予特定计算机上特定用户的权限。这是一个例子:

create database contacts;
create user contacts identified by 'contacts';
-- this next one is what you're probably missing.
grant all on contacts.* to 'contacts'@'%';
grant select on `mysql`.`proc` to 'contacts'@'%';
use contacts;

每次使用字符串&#34;联系人&#34;上面是我的一个例子,碰巧使用具有该名称的数据库。我创建了一个名为&#39; contacts&#39;密码&#39;联系人&#39; (不是最具想象力的命名方案。)

根据您的情况调整值。