我正在尝试使用java中的JDBC工具(使用eclipse)连接到MySQL服务器。我只是想知道如何输入2个用户名/密码组合。第一个是我用来连接到服务器的文件(例如,当我通过ssh进入服务器时),第二个是我在phpmyadmin中输入的文件。到目前为止,我只在jdbc连接属性中输入了phpmyadmin密码,但它没有连接。这是我目前的声明:
conn = DriverManager.getConnection("jdbc:mysql://[IP of server]:3306/[Database Table name]", "[UserName (same as phpmyadmin)]","[Password (same as phpmyadmin)]");我得到了一个
java.sql.SQLException: null, message from server: "Host '[My computer's full host name]' is not allowed to connect to this MySQL server"我想知道除了phpmyadmin用户名/pwd之外,我是否还需要输入我的服务器登录名/密码(我用于ssh的登录名/密码)。我是第一次接触JDBC和MySQL服务器,所以如果有任何建议,我将不胜感激。
作为背景,我可以通过ssh成功连接,并且可以通过phpmyadmin登录到服务器。
发布于 2012-06-18 12:41:52
当您从PHPMyAdmin登录时,web服务器位于托管Mysql数据库的同一服务器上(在您的示例中)。默认情况下,Mysql不允许来自远程主机的连接;只有本地计算机可以访问数据库。
我敢说,您运行java代码的计算机与托管mysql服务器的计算机不是同一台计算机。您必须将mysql配置为允许通过配置文件从远程主机进行连接,然后为指定用户更改mysql.mysql表的Host行,以允许从您的IP地址(或者,如果您不关心安全性,则可以是任何IP地址)进行连接。
要将mysql配置为允许来自远程主机的连接,必须从配置文件中删除"bind-address=“行。
要允许任何主机登录到特定的mysql用户,必须将mysql .mysql Host`列设置为"%“。
这两件事都必须做。
发布于 2012-06-18 12:46:16
下面是如何创建一个可以从另一台客户端计算机访问服务器的帐户:
CREATE USER 'bobby'@'localhost' IDENTIFIED BY 'some_password';这将创建用户,并说明他可以从localhost连接。
如果他在机器192.168.0.5上,你可以这样做:
CREATE USER 'bobby'@'192.168.0.5' IDENTIFIED BY 'some_password';当然,您必须适当地授予特权:
GRANT ALL PRIVILEGES ON databasename.* TO 'bobby'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON databasename.* TO 'bobby'@'192.168.0.5' WITH GRANT OPTION;不管怎样,这是我的经验。
发布于 2012-06-18 17:45:04
public class MysqlConnect{
public static void main(String[] args) {
System.out.println("MySQL Connect Example.");
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "jdbctutorial";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "root";
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
System.out.println("Connected to the database");
conn.close();
System.out.println("Disconnected from database");
} catch (Exception e) {
e.printStackTrace();
}
}
}https://stackoverflow.com/questions/11076948
复制相似问题