你好,我是MySQL服务器的新手,我想从我的电脑远程数据库远程连接MySQL数据库!我在拥有MySQL服务器的机器上的IP是:
39.32.58.13
我正在使用此代码进行连接:
private Connection connect = null;
private Statement statement = null;
private PreparedStatement preparedStatement = null;
private ResultSet resultSet = null;
private void Connect(){
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://39.32.222.77:3306/test","myname", "mypass");
}
}
但它一直给我一个错误:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
我做错了是因为我是第一次这样做,需要有关如何做的指示!所以请不要提前感谢我的错误
答案 0 :(得分:2)
您需要授予从远程位置使用mysql的权限。
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%.example.com'
IDENTIFIED BY PASSWORD 'Password'
WITH GRANT OPTION;
FLUSH PRIVILEGES;
用户可以是root用户或任何其他用户
在授权
上查看更多info答案 1 :(得分:1)
首先,检查远程mysql数据库是否正在运行。 其次,检查你的mysql accound是否有权访问数据库
希望对你有所帮助!答案 2 :(得分:0)
你必须把它作为root:
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'IP' IDENTIFIED BY 'PASSWORD';
其中IP是您要允许访问的IP,USERNAME是您用来连接的用户
如果您想允许从任何IP访问,只需输入%而不是IP
然后你只需要把
FLUSH PRIVILEGES
或者重新启动mysql服务器。