如何从指定IP连接Digital Ocean Droplet中的MySQL?IP配置问题求助
解决DigitalOcean Droplet MySQL仅允许指定IP连接的问题
问题根源
你用的192.168.1.2是本地内网IP,这个IP只在你的局域网(家里/公司网络)内有效,DigitalOcean的Droplet根本识别不到它——Droplet能看到的是你本地网络对外的公网IP,这就是之前配置无效的原因。
正确获取公网IP的方法
- 直接在本地浏览器搜“我的IP”,显示的一串类似
113.xx.xx.xx的数字就是你的公网IP。 - 或者在本地终端执行命令:
- Windows:
curl ifconfig.me - macOS/Linux:
curl icanhazip.com
- Windows:
修正后的配置步骤
1. 更新UFW防火墙规则
先删掉之前错误的规则:
sudo ufw delete allow from 192.168.1.2 to any port 3306
添加公网IP的允许规则(把你的公网IP换成实际查到的IP):
sudo ufw allow from 你的公网IP to any port 3306
重启UFW让规则生效:
sudo ufw reload
2. 调整MySQL权限
先删除之前错误的授权(如果已经添加过):
DROP USER 'root'@'192.168.1.2'; FLUSH PRIVILEGES;
给你的公网IP授予权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'你的公网IP' WITH GRANT OPTION; FLUSH PRIVILEGES;
额外提醒
- 如果是家用宽带,公网IP大概率是动态的,过段时间可能会变化,到时候需要重新更新防火墙和MySQL权限。
- 确保MySQL配置文件
/etc/mysql/mysql.conf.d/mysqld.cnf里的bind-address已经注释掉或者设置为0.0.0.0,保证远程连接功能正常。
内容的提问来源于stack exchange,提问作者abidinberkay
相关产品推荐
相关产品推荐

