![MySQL 远程访问](https://linux22.com/image/609455/MySQL%20%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AE.png)
我们有一个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 #跳过网络