Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
远程连接到Amazon EC2实例中运行的mysql_Mysql_Amazon Web Services_Amazon Ec2 - Fatal编程技术网

远程连接到Amazon EC2实例中运行的mysql

远程连接到Amazon EC2实例中运行的mysql,mysql,amazon-web-services,amazon-ec2,Mysql,Amazon Web Services,Amazon Ec2,我在Amazon EC2上创建了一个Windows Server 2012实例。我已经安装了MySQL,并为测试设置了一个数据库,我创建了一个拥有所有权限的用户。我不想从另一台windows计算机远程连接到此数据库,但连接无法工作。我已打开端口3306并允许所有流量(再次只是为了测试)。我可以ping服务器,但当我尝试使用命令提示符连接时,如下所示: MySQL Server/bin>mysql -h "IP address for my instance" -u User -p"pass

我在Amazon EC2上创建了一个Windows Server 2012实例。我已经安装了MySQL,并为测试设置了一个数据库,我创建了一个拥有所有权限的用户。我不想从另一台windows计算机远程连接到此数据库,但连接无法工作。我已打开端口3306并允许所有流量(再次只是为了测试)。我可以ping服务器,但当我尝试使用命令提示符连接时,如下所示:

MySQL Server/bin>mysql -h "IP address for my instance" -u User -p"password"
我得到一个错误:

ERROR 2003 (HY000): Can't connect to MySQL server on "host" (10060)
我不知道是什么原因造成的。我错过什么了吗

编辑

我使用以下命令创建了另一个具有权限的用户:

mysql>CREATE USER 'testUser'@'%' IDENTIFIED BY 'somepass';
mysql>GRANT ALL PRIVILEGES ON *.* TO 'testUser'@'%' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;

错误
10060
表示不允许远程连接


如果您创建了用户
yourName@localhost
。尝试使用通配符主机创建用户,
%
yourName@%

尝试从my.ini中注释出以下行。在Windows上,您可以在MySQL安装目录中找到它,通常类似于“C:\Program Files\MySQL\MySQL Server 5.5”

基本上,这告诉mysql只监听来自127.0.0.1的请求。出于安全原因,这是默认设置。你也可以这样做

bind-address = <ip address of one of your network interfaces>
绑定地址=
它基本上只侦听特定网络接口上的请求


如果您注释掉
绑定地址
选项,您可能希望相应地配置AWS安全组,以防止未经授权的访问。

我以为我已经这样做了,但我会让一个新用户确信,谢谢!这仍然是你得到的错误吗?(
10060
)谷歌搜索一下给了我这个信息:祝你好运@马丁,我不同意。Windows错误10060是
WASETIMEDOUT
,表明防火墙正在阻止连接请求,而不是权限问题。我已经试着找到这个文件,但是我在任何地方都找不到它,我正在运行MySQL 5.6,如果这在Windows上有所不同的话,这个文件是
my.ini
,而不是
my.cnf
。关于为什么需要这样做的一些解释会很好-例如,默认情况下(出于安全原因),MySQL只侦听来自本地主机的连接。
bind-address = <ip address of one of your network interfaces>