MySQL 远程访问

MySQL 远程访问

我们有一个MySQL运行在数据库服务器上Amazon Linux 实例我们想要远程连接。

我们已经设置了端口的访问权限3306我们的 LAN 网关 IP 在AWS 安全组

我们执行了以下命令来授予我们的 IP 访问权限,我们将从那里连接数据库,输出如下

GRANT ALL PRIVILEGES ON *.* TO 'root'@'our IP Address' IDENTIFIED BY 'password';

Query OK, 0 rows affected (0.00 sec)

当我们尝试使用 MySQL 管理员工具连接数据库时,我们仍然收到以下错误消息:

Host: Our IP address where MySQL server runs
User : root
Password: Our password
MySQL Error: Could not connect to the specified instance.
MySQL error number 2003
Can't connect to MySQL server on 'MySQL server IP Address'(10060)

我们怎样才能解决这个问题?

谢谢!

答案1

您需要找出问题的根源。

  • 第一的:检查问题是否来自网络连接。尝试 ping IP 或域:

    $ ping $YOUR_IP
    
  • 第二:通过直接连接检查您的标识符。您的错误可能会导致配置错误:

    $ mysql -h $YOUR_IP -P 3306 -u root -p
    

    您应该会看到一个提示。

如果上述两个测试成功,您应该检查您的应用程序配置文件。

笔记:使用用户进行远程访问,您应该创建一个具有有限权限的新用户(特定于您的需要)。

答案2

您还需要确保防火墙(iptables)没有阻止访问。

答案3

可能需要检查的区域:

  • 防火墙:仔细检查您的 EC2 安全组和服务器防火墙(iptables、ufw 等)中的端口 3306 是否打开(至少对您的 IP 地址打开)。

  • MySQL 配置:检查 MySQL 服务器是否已配置为 ( my.cnf) 监听 TCP 端口,而不是 UNIX 套接字。例如

    [mysqld]
    端口 = 3306
    绑定地址 = 0.0.0.0
    #跳过网络

相关内容