AWS Lightsail中Plesk默认MySQL数据库外部访问配置问题
解决AWS Lightsail上Plesk默认MySQL外部访问问题
一、修改MySQL绑定地址(核心操作)
默认情况下,Plesk安装的MySQL只监听localhost(127.0.0.1),外部请求根本无法到达数据库,这才是你连不上的关键,和白名单无关。操作方式二选一:
- 通过Plesk界面操作:进入「工具与设置」→「数据库服务器」,找到MySQL的设置项,将「绑定地址」改为
0.0.0.0(允许监听所有网卡),或者直接填你的Lightsail实例公网IP。保存后重启MySQL服务。 - 通过SSH操作:登录Lightsail实例的SSH终端,编辑MySQL配置文件(常见路径为
/etc/my.cnf或/etc/mysql/my.cnf),找到bind-address字段,将其值改为0.0.0.0,执行命令systemctl restart mysql重启服务。
二、配置Lightsail防火墙规则
Lightsail默认防火墙会拦截外部对3306端口的请求,需要手动开放:
- 登录AWS Lightsail控制台,选中你的Plesk实例,进入「网络」标签页
- 在「防火墙」区域添加新规则:协议选TCP,端口范围填
3306,来源IP填你要允许访问的外部IP(测试阶段可以临时用0.0.0.0/0,正式环境务必限制具体IP) - 保存规则
三、确认数据库用户访问权限
要确保用来连接的数据库用户不被限制为仅localhost访问:
- 在Plesk的「数据库」管理页面,找到目标数据库对应的用户
- 编辑该用户,将「允许从」选项改为「任何主机」,或者指定你要用来连接的外部IP
- 保存后,用外部数据库工具(比如MySQL Workbench)测试连接:主机填Lightsail实例的公网IP,端口3306,输入用户名密码
四、是否需要改用Lightsail托管数据库?
如果上述步骤都无法解决问题,或者你想获得更省心的数据库管理体验,可以考虑使用Lightsail Managed Database服务:
- 在Lightsail控制台创建托管MySQL实例,开启公网访问权限并设置IP白名单
- 修改Plesk中应用的数据库连接字符串,指向托管数据库的公网地址、端口、用户名和密码
- 这种方式无需自行维护MySQL服务,AWS会负责自动备份、版本升级和运维,安全性也更高
内容的提问来源于stack exchange,提问作者scythargon
相关产品推荐
相关产品推荐

