首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与MySQL服务器的远程连接

问与MySQL服务器的远程连接
EN

Stack Overflow用户
提问于 2014-05-12 08:19:34
回答 3查看 283关注 0票数 0

你好,我是MySQL服务器的新手,我想从我的计算机上远程连接MySQL DataBase,而不是放在数据库上!我在有MySQL服务器的机器上的IP是:

代码语言:javascript
复制
 39.32.58.13

我使用这个代码连接:

代码语言:javascript
复制
    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");
      }
}

但它总是给我一个错误:

代码语言:javascript
复制
    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.

是我做错了什么,因为我是第一次这样做,需要指导如何去做!所以请不要介意我的错误,谢谢

EN

回答 3

Stack Overflow用户

发布于 2014-05-12 08:23:05

您需要授予从远程位置使用mysql的权限。

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%.example.com' 
    IDENTIFIED BY PASSWORD 'Password' 
    WITH GRANT OPTION;
FLUSH PRIVILEGES;

其中用户可以是root用户或任何其他用户。

有关更多的信息,请参阅此

票数 2
EN

Stack Overflow用户

发布于 2014-05-12 08:26:08

首先,检查远程mysql数据库是否正在运行。第二,检查mysql帐户是否有访问数据库的权限。

希望能帮助你!

票数 1
EN

Stack Overflow用户

发布于 2014-05-12 08:38:48

你必须把它作为根:

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON *.* TO  'USERNAME'@'IP'  IDENTIFIED  BY  'PASSWORD';

其中,IP是您希望允许访问的IP,而用户名是用于连接的用户。

如果您想允许从任何IP访问,只需将%而不是您的IP

然后你只需要把

代码语言:javascript
复制
FLUSH PRIVILEGES

或者重新启动mysql服务器,仅此而已。

这是答案

另一个教程

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23604128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档