EC2上MySQL如何开启远程访问


最近在亚马逊云主机上安装MySQL,想远程访问,结果无论如何都访问不了。在踩了若干坑之后,终于访问成功了,在此做一下记录:EC2上安装了MySQL后如何开启远程访问。

一、遇到的问题

想远程访问EC2上的MySQL,总提示:
ERROR 2003 (HY000): Can't connect to MySQL server on 'xx.xx.xx.xx' (111)
或者
Host 'xx.xx.xx.xx' is not allowed to connect to this MySQL server

二、解决方案

1、设置EC2的防火墙

EC2默认防火墙是阻断所有流量,因此在EC2的Scurity Groups中除了其他必要的规则之外,还要添加一条入口流量规则:TCP的3306端口的任意源IP的连接都允许。

2、MySql中设置用户的访问

MySQL默认只允许从本机访问,要使得能够远程访问,分别在Terminal中执行以下命令:

mysql -u root -p
use mysql
update user set Host='%' where User='root'

这样就能从任意IP访问MySql了。

3、MySQL中设置绑定IP

sudo vim /etc/mysql/my.cnf1

然后把bind-address 127.0.0.1改为bind-address 0.0.0.0,这样EC2的IP无论怎样变化,都能够远程访问了。

4、重启MySQL

sudo /etc/init.d/mysql restart1

以下是小编为您精心挑选的MySQL相关内容,看看是否有所帮助:

CentOS 7下源码安装MySQL 5.6 

MySQL5.7.3.0安装配置图解教程

Ubuntu 14.04下安装MySQL

《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主从服务器

Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群

Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb

MySQL-5.5.38通用二进制安装

本文永久更新链接地址

相关内容