我试图从我的本地电脑远程连接MySQL数据库2周但我失败了。 www.hdvoiz.com这是我创建数据库的地方,我正在使用Cpanel管理面板。请帮帮我。
这是错误消息
java.sql.SQLException:用户'hdvoiz_user'@'95.218.172.137'拒绝访问(使用密码:是)
这是我的代码
包rmotedb;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Main {
public static void main(String[] args) {
System.out.println("-------- MySQL JDBC Connection Testing ------------");
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your MySQL JDBC Driver?");
e.printStackTrace();
return;
}
System.out.println("MySQL JDBC Driver Registered!");
Connection connection = null;
try {
String url = "jdbc:mysql://hdvoiz.com:3306/hdvoiz_loy";
String username = "hdvoiz_user";
String password = "**********";
connection = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
return;
}
if (connection != null) {
System.out.println("You made it, take control your database now!");
} else {
System.out.println("Failed to make connection!");
}
}
}
答案 0 :(得分:0)
您正在使用cPanel,因此您必须在远程mysql访问列表中添加ISP ip才能从本地PC访问您的mysql数据库。
登录您的cPanel>>数据库>>远程MySQL>>添加ISP IP
如果您仍然面临同样的问题,请联系您的托管服务提供商,并要求他们在服务器防火墙中启用mysql端口。
答案 1 :(得分:0)
storyBoard
。如果telnet显示超时,则服务器块3306(如果您更改此端口,则放置3306或mysql使用的端口)端口。这是一个防火墙问题。如果第1点显示remote_server_or_remote_ip 3306
但无法运行,程序将验证用户是否在mysql.user表上,并具有从本地服务器IP访问的权限。你可以使用mysql命令在shell上看到这个。
$ mysql
MySQL的> SELECT Host,user FROM mysql.user WHERE "Connected to "
LIKE' user_mysql';
在Cpanel用户上,您必须查看,编辑或添加此帐户的所有用户的GLOBAL权限才能访问mysql服务器,使用IP或IP加comodin%。如果您添加IP或通配符IP,则此帐户上的所有用户都有权远程访问此Ip或一个IP范围通配符。您也可以使用
进行验证User