JDBC:连接到远程 mySQL 数据库?
Posted
技术标签:
【中文标题】JDBC:连接到远程 mySQL 数据库?【英文标题】:JDBC: connect to remote mySQL database? 【发布时间】:2013-08-14 07:09:31 【问题描述】: public void readDataBase() throws Exception
try
// This will load the mysql driver, each DB has its own driver
Class.forName("com.mysql.jdbc.Driver");
// Setup the connection with the DB
connect = DriverManager
.getConnection("jdbc:mysql://185.28.21.11/u505743489_db?"+ "user=u505743489_db&password=password");
// Statements allow to issue SQL queries to the database
statement = connect.createStatement();
// Result set get the result of the SQL query
resultSet = statement
.executeQuery("select * from FEEDBACK.COMMENTS");
writeResultSet(resultSet);
// PreparedStatements can use variables and are more efficient
preparedStatement = connect
.prepareStatement("insert into FEEDBACK.COMMENTS values (default, ?, ?, ?, ? , ?, ?)");
// "myuser, webpage, datum, summary, COMMENTS from FEEDBACK.COMMENTS");
// Parameters start with 1
preparedStatement.setString(1, "Test");
preparedStatement.setString(2, "TestEmail");
preparedStatement.setString(3, "TestWebpage");
preparedStatement.setDate(4, new java.sql.Date(2009, 12, 11));
preparedStatement.setString(5, "TestSummary");
preparedStatement.setString(6, "TestComment");
preparedStatement.executeUpdate();
preparedStatement = connect
.prepareStatement("SELECT myuser, webpage, datum, summary, COMMENTS from FEEDBACK.COMMENTS");
resultSet = preparedStatement.executeQuery();
writeResultSet(resultSet);
// Remove again the insert comment
preparedStatement = connect
.prepareStatement("delete from FEEDBACK.COMMENTS where myuser= ? ; ");
preparedStatement.setString(1, "Test");
preparedStatement.executeUpdate();
resultSet = statement
.executeQuery("select * from FEEDBACK.COMMENTS");
writeMetaData(resultSet);
catch (Exception e)
throw e;
finally
close();
我试过这段代码,但它给出了: 线程“主”java.sql.SQLException 中的异常:null,来自服务器的消息:“不允许主机'mobile-130-126-255-40.near.illinois.edu' 连接到此 MySQL 服务器” 我对此进行了谷歌搜索,似乎我必须授予数据库权限,但我不知道我的 MySQL 命令提示符在哪里。有没有办法在 phpMyAdmin 中授予权限?任何帮助将不胜感激!
【问题讨论】:
打开命令行控制台并从那里执行。GRANT USAGE ON u505743489_db.* TO 'u505743489_db'@'mobile-130-126-255-40.near.illinois.edu' IDENTIFIED BY 'password'
.
在 phpMyAdmin 中,您可以在主选项卡或主数据库选项卡下授予权限(抱歉,我不记得了——但它就在那里)。
@BoristheSpider 这可以是一个答案。
@SotiriosDelimanolis 我在哪里可以打开命令行控制台?
【参考方案1】:
点击windows+r 然后在其中输入“cmd”并按回车键。这将打开 Windows 的命令提示符。
然后去.. mysql -u 用户名 -p press_enter_key
然后输入密码
即
line-1 : mysql -u root -h localhost -p
第 2 行:管理员
“admin”是您的密码。
那么..
mysql> 将 databasename.* 上的所有权限授予由“密码”标识的 cmsuser@localhost;
【讨论】:
以上是关于JDBC:连接到远程 mySQL 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Java 通过 SSH 连接到远程 MySQL 数据库