一些说明
这篇文章讲什么?
本文讲的是在 阿里云 Linux 服务器 上安装了 mysql-server 但是却无法远程连接的解决方案。
为什么要写这篇文章?
室友想做微信小程序开发,好不容易申请了备案,却卡在了 MySQL 数据库服务器连接失败的错误上。一直没有解决的原因在于网上的解决方案中设置 iptables 的那一步中,”/etc/sysconfig/iptables” 文件不存在。想必是因为用的阿里云的公共镜像,经过了阿里云的修改。在我的帮助之下,费尽心机,终于解决了这个问题。本文用以做一些记录,以飨后来人。
这篇文章适合那些人阅读?
已经在服务器上安装成功了 mysql-server 并且创建了自己的数据库,远程登陆时配置的服务器地址、用户名、密码和数据库名称都无误,但是无法连接到 mysql-server,按照网上教程修改 “/etc/sysconfig/iptables” 也无效的朋友,不妨看一看。
如何操作
阿里云服务器控制台 里选择你的服务器 -> “本实例安全组” -> “配置规则” -> “添加安全组规则” -> 按照下图填写
这一步相当于配置了服务器的防火墙规则,在其中设置了服务器的 3306 端口在所有主机上都可以被访问。
配置服务器上的 MySQL 监听IP
首先来看一下 mysql-server 默认的监听IP。
如图所示,默认监听为本地,这是无法远程连接的原因之一。
修改文件 “/etc/mysql/mysql.conf.d/mysqld.cnf” ,如下图。
只需要把 bind-address 修改为 0.0.0.0 即可实现全网监听。
修改好后 终端输入 service restart mysqld 重启服务。
再次查看监听IP,可以发现已经改变,如下图 “0.0.0.0:3306”。
修改root用户的读写权限
肚子饿了,晚上还有课,不做解释了,按照下图命令顺序全部执行一遍后重启 mysql 服务就没有问题了。