在腾讯云轻量应用服务器(Lighthouse)上部署 MySQL 数据库,主要有三种常见方式:使用官方镜像一键安装(最简单)、手动安装配置(最灵活),以及直接使用云数据库 MySQL(生产环境推荐)。
以下是针对轻量服务器的详细操作指南:
方法一:使用官方镜像一键安装(推荐新手)
这是最快的方式,腾讯云镜像市场提供了预装好 MySQL 的镜像,包含基础配置。
-
创建/重置实例
- 登录腾讯云控制台,进入【轻量应用服务器】。
- 点击【创建轻量应用服务器】(如果是已有服务器且未安装,需先重装系统)。
- 在“镜像”选择页面,切换到 “应用镜像” 标签页。
- 搜索关键词
MySQL,选择官方推荐的镜像(例如:MySQL 8.0或MySQL 5.7)。 - 完成后续设置(带宽、密码等)并启动服务器。
-
获取初始密码
- 服务器启动后,在控制台右侧的“基本信息”中,找到 管理员密码。
- 同时,该镜像通常会在“初始化脚本”中生成一个随机的 MySQL root 密码,或者在创建时让你设置。请留意创建向导中的提示。
-
连接测试
- 通过 SSH 登录服务器(如使用 PuTTY、Xshell 或终端)。
- 尝试登录:
mysql -u root -p # 输入创建时设置的密码或查看控制台提示的初始密码
方法二:手动安装与配置(适合有经验的开发者)
如果你已经有一台纯净的 Linux 轻量服务器(如 Ubuntu 20.04/22.04 或 CentOS 7/8),可以手动安装。
1. 更新软件源并安装
Ubuntu/Debian 示例:
sudo apt update
sudo apt install mysql-server -y
CentOS/RHEL 示例:
# 如果 yum 没有 mysql 包,可能需要先添加 epel 或 mariadb 源,或直接下载 rpm 包
sudo yum install mysql-server -y
# 注意:CentOS 默认可能推荐 MariaDB,如需严格 MySQL 8.0,建议参考官方 Yum 源配置
2. 安全加固(重要)
安装完成后,运行安全配置脚本:
sudo mysql_secure_installation
按提示操作:
- 验证插件(Validate Password Component):选 N(除非你有强密码策略需求)。
- 删除匿名用户:Y。
- 禁止远程 root 登录:Y。
- 删除测试数据库:Y。
- 重载权限表:Y。
3. 配置远程访问(关键步骤)
默认情况下,MySQL 只允许本地连接 (127.0.0.1)。若需从外部连接,需修改配置文件。
- 编辑配置文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # Ubuntu # 或 sudo vim /etc/my.cnf # CentOS - 找到
bind-address行,将其改为注释掉或删除该行(允许监听所有 IP),或者改为0.0.0.0:# bind-address = 127.0.0.1 bind-address = 0.0.0.0 -
创建允许远程登录的用户(可选,更安全做法是创建专用用户):
-- 登录本地 mysql mysql -u root -p -- 执行以下 SQL (将 'your_password' 替换为你的密码) CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%'; FLUSH PRIVILEGES; EXIT; - 重启 MySQL 服务:
sudo systemctl restart mysql
4. 配置防火墙与安全组
这一步最容易出错,请务必检查:
- 腾讯云控制台(安全组):
- 进入轻量服务器详情 -> 【安全组】。
- 添加入方向规则:协议
TCP,端口3306,来源0.0.0.0/0(生产环境建议限制为特定 IP)。
- 服务器内部防火墙:
- Ubuntu (UFW):
sudo ufw allow 3306/tcp - CentOS (Firewalld):
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent && sudo firewall-cmd --reload
- Ubuntu (UFW):
方法三:直接购买“云数据库 MySQL"(生产环境强烈推荐)
如果你的业务对数据可靠性、备份恢复、高可用有较高要求,不建议将 MySQL 直接安装在轻量服务器上。
- 优点:自动备份、主备切换、性能监控、弹性扩容、无需维护底层 OS。
- 缺点:费用略高于轻量服务器。
- 架构建议:轻量服务器作为应用层(Web/App),云数据库 MySQL 作为数据层,两者在同一地域下内网互通,延迟极低。
⚠️ 重要安全提示
- 不要暴露 3306 到公网:除非你明确知道自己在做什么,否则严禁将 MySQL 端口直接开放给
0.0.0.0。攻击者会扫描全网的 3306 端口进行暴力破解。- 最佳实践:仅在内网通信,或通过 SSH 隧道 连接。
- SSH 隧道连接法(安全且免费):
- 在本地电脑终端执行:
ssh -L 3307:127.0.0.1:3306 root@<你的轻量服务器IP> - 此时本地连接
localhost:3307即可访问服务器上的 MySQL,无需开放 3306 端口。
- 在本地电脑终端执行:
- 定期备份:如果是自建 MySQL,务必编写脚本定时备份数据到对象存储(COS)。
总结
- 学习/测试/个人项目:直接使用 方法一(应用镜像),最快最稳。
- 需要定制环境:使用 方法二(手动安装),记得配置安全组和防火墙。
- 正式商业项目:请使用 腾讯云云数据库 MySQL (CDB),将轻量服务器仅作为计算节点。
CLOUD云计算