我们有一个MySQL数据库服务器,它运行在我们希望远程连接的Amazon Linux Instance上。
我们已经在AWS安全组中为我们的LAN网关方式IP设置了端口3306的访问权限。
我们已经执行了下面的命令来授予对我们连接数据库和输出的IP的访问权限,如下所示
GRANT ALL PRIVILEGES ON *.* TO 'root'@'our IP Address' IDENTIFIED BY 'password'; Query OK, 0 rows affected (0.00 sec)
在尝试使用MySQLpipe理员工具连接数据库时,仍然收到以下错误消息:
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)
我们怎么能解决这个问题?
谢谢!
你需要确定问题的根源。
首先 :检查问题是否来自networking连接。 尝试ping IP或域名:
$ ping $YOUR_IP
其次 :通过直接联系来检查你的标识符。 您的错误可能会导致configuration错误:
$ mysql -h $YOUR_IP -P 3306 -u root -p
你应该看到一个提示。
如果上述两个testing成功,您应该检查您的应用程序configuration文件。
注意:使用root用户进行远程访问不是一个好习惯,您应该创build一个新的用户(特定于您的需要),并且权限有限。
您还需要确保防火墙(iptables)不阻止访问。
可能的地方检查:
防火墙:仔细检查EC2安全组和服务器防火墙(iptables,ufw等)中端口3306是否打开(至less是您的IP地址)。
MySQLconfiguration:检查MySQL服务器是否configuration( my.cnf )监听TCP端口,而不是UNIX套接字。 例如
的[mysqld]
端口= 3306
bind-address = 0.0.0.0
#跳过networking