使用java连接到mysql的错误

时间:2011-10-21 14:51:21

标签: java mysql tomcat

当使用java连接到mysql时遇到了一个奇怪的问题。

我正在用tomcat运行xampp

我尝试从java连接到mysql。在我的机器上它工作正常,但在朋友机器上我得到一个错误:访问被拒绝用户'tomcat'@'localhost'

事情是 - 我设法使用php连接完全相同的信息。

连接的java代码是:

    String url = "jdbc:mysql://localhost:3306/";
    String dbName = "mta_db";
    String driver = "com.mysql.jdbc.Driver";
    String userName = "tomcat";
    String password = "tomcat";
    try {
        Class.forName(driver).newInstance();
        _conn = DriverManager.getConnection(url + dbName, userName, password);
    } catch (Exception e) {
        e.printStackTrace();
    }

端口很好

任何想法可能是什么原因?

1 个答案:

答案 0 :(得分:1)

错误可能是在MySQL方面,也就是说,tomcat用户没有从非localhost连接的权限。

为了简单起见,您可以首先通过MySQL GRANT语句创建一个能够从任何地方连接的帐户:

GRANT ALL ON mta_db.* to tomcat@'%' identified by 'yourpassword';

在这种情况下,%是任何主机的通配符。

如果您知道连接客户端的实际IP,您可以稍后将其破解,以提高安全性。