是的,腾讯云轻量应用服务器(Lighthouse)可以远程访问 MySQL,但需要进行一些配置才能实现。默认情况下,出于安全考虑,MySQL 通常只允许本地连接(即 127.0.0.1),并且防火墙或安全组可能阻止外部访问。
以下是实现远程访问 MySQL 的步骤:
✅ 1. 修改 MySQL 配置文件,允许远程连接
以 Ubuntu/CentOS 为例:
编辑 MySQL 配置文件(路径可能因版本而异):
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
# 或
sudo nano /etc/my.cnf
找到 bind-address 这一行:
bind-address = 127.0.0.1
将其改为:
bind-address = 0.0.0.0
⚠️ 注意:
0.0.0.0表示监听所有网络接口,允许远程连接。请确保你已设置强密码和用户权限限制,避免安全风险。
保存并退出。
✅ 2. 重启 MySQL 服务
sudo systemctl restart mysql
# 或
sudo systemctl restart mysqld
✅ 3. 创建允许远程连接的 MySQL 用户(或修改现有用户)
登录 MySQL:
mysql -u root -p
执行以下 SQL 命令(以创建一个可远程访问的用户为例):
-- 创建新用户(推荐)
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
-- 或修改已有用户(如 root 允许远程)
UPDATE mysql.user SET host = '%' WHERE user = 'root' AND host = 'localhost';
FLUSH PRIVILEGES;
? 建议不要直接开放 root 用户远程访问,应创建专用用户并限制权限。
✅ 4. 腾讯云安全组配置(关键!)
登录 腾讯云控制台 → 进入 轻量应用服务器 Lighthouse → 找到你的实例 → 点击「防火墙」或「安全组」。
添加一条入站规则,允许 MySQL 端口(默认 3306):
- 协议类型:TCP
- 端口:3306
- 源 IP:可以是
0.0.0.0/0(开放给所有人,不推荐)或你的固定 IP(如123.123.123.123/32,更安全)
✅ 推荐只允许你自己的公网 IP 访问,避免被扫描和攻击。
✅ 5. 测试远程连接
在本地电脑使用 MySQL 客户端(如 Navicat、DBeaver、命令行)尝试连接:
- 主机地址:你的轻量服务器公网 IP
- 端口:3306
- 用户名:你创建的远程用户(如
remote_user) - 密码:对应密码
⚠️ 安全建议
- 不要长期开放 3306 端口给所有人(0.0.0.0/0)
- 使用强密码,避免弱口令
- 考虑使用 SSH 隧道连接 MySQL(更安全)
- 定期更新系统和 MySQL 版本
- 可结合使用 VPC 内网 + 跳板机访问
? 更安全的替代方案:SSH 隧道
如果你不想开放 3306 端口,可以通过 SSH 隧道连接:
ssh -L 3306:localhost:3306 -N -f user@your-lighthouse-ip
然后本地连接 127.0.0.1:3306,流量通过 SSH 加密隧道转发。
总结
| 步骤 | 是否必须 |
|---|---|
修改 bind-address = 0.0.0.0 |
✅ 必须 |
| 创建远程用户 | ✅ 必须 |
| 开放安全组端口(3306) | ✅ 必须 |
| 重启 MySQL | ✅ 必须 |
完成以上步骤后,即可远程访问腾讯云轻量服务器上的 MySQL。
如需帮助,可提供你使用的操作系统和 MySQL 版本,我可以给出更具体的命令。
CDNK博客