一、连接失败常见原因
当VPS远程连接数据库失败时,主要涉及以下三个层面问题:
- 权限配置错误:数据库账户未开放远程访问权限(如root默认仅限localhost)
- 网络端口限制:服务器防火墙未开放数据库端口(如MySQL 3306)或安全组规则错误
- 服务绑定限制:数据库服务仅监听本地IP(如MySQL默认绑定127.0.0.1)
二、数据库访问权限配置
以MySQL为例,通过以下步骤创建远程访问账户:
- 登录数据库服务器执行:
CREATE USER 'user'@'%' IDENTIFIED BY 'password';
- 授予数据库权限:
GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'%';
- 刷新权限配置:
FLUSH PRIVILEGES;
/etc/mysql/mysql.conf.d/mysqld.cnf: # 注释绑定地址 # bind-address = 127.0.0.1
三、防火墙与端口设置
在CentOS系统中配置防火墙:
- 永久开放端口:
firewall-cmd --permanent --add-port=3306/tcp
- 重载防火墙规则:
firewall-cmd --reload
- 验证端口状态:
firewall-cmd --list-ports
四、SSH隧道备用方案
当无法直接开放远程端口时,可通过SSH建立加密隧道:
- 使用命令建立隧道:
ssh -L 63306:localhost:3306 user@vps_ip
- 客户端连接本地端口63306
- 验证SSH服务状态:
systemctl status sshd
远程数据库连接故障需系统排查权限、网络、服务三层配置。建议优先使用专用数据库账户配合白名单IP策略,防火墙设置遵循最小开放原则。当生产环境存在安全限制时,SSH隧道可作为临时替代方案。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/530856.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。