当使用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();
}
端口很好
任何想法可能是什么原因?
答案 0 :(得分:1)
错误可能是在MySQL方面,也就是说,tomcat
用户没有从非localhost
连接的权限。
为了简单起见,您可以首先通过MySQL GRANT
语句创建一个能够从任何地方连接的帐户:
GRANT ALL ON mta_db.* to tomcat@'%' identified by 'yourpassword';
在这种情况下,%
是任何主机的通配符。
如果您知道连接客户端的实际IP,您可以稍后将其破解,以提高安全性。