MySQL的监听地址
在某云的ECS上搭建了MySQL服务端,防火墙安全组一切正常,却无法远程访问。
本机扫描服务器端口:
⚡yangz ❯❯ nmap -sS MD
Starting Nmap 7.93 ( https://nmap.org ) at 2023-01-26 19:23 中国标准时间
Nmap scan report for MD
Host is up (0.045s latency).
Not shown: 996 filtered tcp ports (no-response)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp closed https
3306/tcp closed mysql
果然,端口是通的,没人监听而已。
检查ECS端口使用情况:
root@minedl:~# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 24735/mysqld
mysql绑定到了本地回环测试的地址上,所以无法对外提供服务。做如下配置:
vim /etc/mysql/mysql.conf.d/mysqld.cnf
修改其中的bind-address = 0.0.0.0 ,注意不可以直接注释掉,否则会导致如下第二种结果。
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 24735/mysqld #只监听localhost
tcp6 0 0 :::3306 :::* LISTEN 24794/mysqld #只监听ipv6,不监听ipv4
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 24877/mysqld #监听所有ipv4
出现结果三,本机访问也成功访问。