阿里云MySQL远程连接失败

在阿里云服务器上自己装了一个MySQL,但是刚刚开始并不能正常连接,其实无非就两种情况

a.服务器端口拦截

b.MySQL服务拒绝了请求

解决办法:

针对服务器,将端口开放链接,针对MySQL,取消MySQL的连接限制即可

1.MySQL取消限制

进入mysql,以root用户运行以下语句,表示MySQL允许在任何IP连接当前实例

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; 

2.查看MySQL的服务:ps -ef | grep mysql

root@iZm5e296kyz53dvpd98xj7Z:/home# ps -ef | grep mysql
mysql    20250     1  0 12:03 ?        00:00:02 /usr/sbin/mysqld

可以看到是通过/usr/sbin/mysqld启动的MySQL,查找相应的配置文件,在/etc/mysql目录下查找mysqld.cnf,这里mysqld.cnf在/etc/mysql/mysql.conf.d/目录下(如果是通过service mysql.server start启动方式),编辑,将bind-address = 127.0.0.1注释掉即可,表示任何一个IP都可以连接MySQL服务。

[mysqld]
#
# * Basic Settings
#
user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
basedir		= /usr
datadir		= /var/lib/mysql
tmpdir		= /tmp
lc-messages-dir	= /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address		= 127.0.0.1  #将该行注释
#
# * Fine Tuning
#
key_buffer_size		= 16M
max_allowed_packet	= 16M
thread_stack		= 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options  = BACKUP
#max_connections        = 100
#table_cache            = 64
...

注释掉之后,重启MySQL生效。

3.取消服务器拦截

通过阿里云控制台(可以直接通过Aliyun的App直接操作,这里就不演示APP操作流程了),在安全组规则中新添加一个规则即可。

第一步,进入服务器控制台,更多->网络和安全组->安全组配置

阿里云MySQL远程连接失败_第1张图片

第二步,进入安全组页面,点击配置规则。

阿里云MySQL远程连接失败_第2张图片

第三步,选择入方向的规则,创建一条3306端口的规则,授权对象是0.0.0.0/0,表示所有网段

阿里云MySQL远程连接失败_第3张图片

OK,完成,这样就可以从本机直接连接阿里云上的MySQL拉。

你可能感兴趣的:(服务器应用部署,Mysql)