importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importcom.mysql.jdbc.Driver;
publicclassjbdcDemo {
publicstaticvoidmain(String[] args)throwsSQLException {
DriverManager.registerDriver(newDriver());
Connection conn = DriverManager.getConnection(
"jdbc:mysql://45.78.1.234:3306/wordpress","账号","密码");
Statement statement = conn.createStatement();
ResultSet rs = statement.executeQuery("select * from wp_users;");
while(rs.next()) {
String name = rs.getString("user_login");
System.out.println(name);
}
rs.close();
statement.close();
conn.close();
}
}
运行后发现服务器并不接受此IP的远访问 所以使用了在服务器的改表法
先允许访问3306端口
在CentOS系统中防火墙默认是阻止3306端口的,我们要是想访问mysql数据库,我们需要这个端口,命令如下:
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
我们需要保存我们的操作,命令如下:
/etc/rc.d/init.d/iptables save
此时我们可以查看端口的状态,命令如下:
/etc/init.d/iptables status
改表法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
要记得重启MYSQL
service mysqld restart