购买云服务器后安装 MySQL,核心取决于你选择的操作系统类型(Linux 还是 Windows)以及你对环境管理的偏好(纯手动部署 vs 使用云厂商的一键镜像)。
以下针对国内主流场景(如阿里云、腾讯云、华为云等),提供三种最通用且合规的实施方案。
方案一:利用云厂商“一键应用”或“宝塔面板”(推荐新手/快速部署)
这是目前国内最主流、效率最高的方式。云厂商控制台通常预置了"MySQL"、“宝塔面板”等镜像,或者允许在服务器创建时直接选择“应用市场”。
操作流程:
- 登录控制台:进入你的云服务商管理后台(如阿里云 ECS 控制台、腾讯云 CVM 控制台)。
- 重装系统/创建实例:
- 如果是新购机器:在购买页面,操作系统栏选择“应用市场”或“镜像”,搜索
MySQL或宝塔面板。- 若选
MySQL镜像:系统会自动安装好 MySQL 并生成初始密码,启动后即可连接。 - 若选
宝塔面板镜像:启动后通过 SSH 获取面板地址、用户名和密码。
- 若选
- 如果是新购机器:在购买页面,操作系统栏选择“应用市场”或“镜像”,搜索
- 通过面板安装:
- 如果使用宝塔面板:登录 Web 界面,点击左侧菜单“软件商店”,搜索
MySQL,选择版本(推荐 5.7 或 8.0),点击“安装”。 - 等待进度条完成,安装成功后,面板会显示数据库端口、账号及默认密码。
- 如果使用宝塔面板:登录 Web 界面,点击左侧菜单“软件商店”,搜索
优点:图形化操作,后续管理(备份、监控、用户权限)极其方便,适合非专业运维人员。
注意:首次启动后,务必修改 root 密码,并记录好生成的随机密码。
方案二:Linux 原生命令行安装(标准生产环境)
如果你需要更纯净的环境,或者使用的是自定义镜像,推荐使用包管理器进行安装。以 CentOS 7/8 和 Ubuntu 20.04+ 为例。
1. CentOS/Rocky Linux (使用 yum/dnf)
# 1. 更新源
sudo yum update -y
# 2. 安装 MySQL 社区版 (注意:CentOS 8+ 默认仓库可能需配置 EPEL 或 MariaDB)
# 推荐直接使用官方 YUM 源配置
sudo yum install mysql-server
# 3. 启动服务并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld
# 4. 获取临时 root 密码
sudo grep 'temporary password' /var/log/mysqld.log
# 5. 初始化安全设置(强烈建议执行,会要求修改 root 密码、移除匿名用户等)
sudo mysql_secure_installation
2. Ubuntu/Debian (使用 apt)
# 1. 更新源
sudo apt update
# 2. 安装 MySQL Server
sudo apt install mysql-server
# 3. 启动并设置自启
sudo systemctl start mysql
sudo systemctl enable mysql
# 4. 安全加固
# Ubuntu 默认安装通常已内置安全脚本,可直接运行
sudo mysql_secure_installation
关键点说明:
- 防火墙配置:安装完成后,MySQL 默认监听 3306 端口。你必须登录云厂商控制台的“安全组”或“防火墙”规则,添加入方向规则,允许 TCP 协议的 3306 端口(仅限特定 IP 访问更安全)。
-
远程连接:默认情况下,MySQL 只允许本地 (
localhost) 连接。若需从其他机器连接,需登录 MySQL 修改用户授权:-- 登录 MySQL mysql -u root -p -- 切换数据库 USE mysql; -- 查看当前 host SELECT user, host FROM user; -- 将 root 用户的 host 改为 % (允许任意 IP),或指定具体 IP UPDATE user SET host = '%' WHERE user = 'root'; FLUSH PRIVILEGES;
方案三:Docker 容器化部署(现代化/隔离性最佳)
如果你的业务需要频繁迁移或避免污染宿主机环境,Docker 是首选。
前提:服务器已安装 Docker 引擎。
操作步骤:
# 1. 拉取官方 MySQL 镜像 (建议指定版本号,如 8.0)
docker pull mysql:8.0
# 2. 创建数据挂载目录 (持久化数据)
mkdir -p /data/mysql/data
chmod 777 /data/mysql/data
# 3. 运行容器
docker run -d
--name mysql-container
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=YourStrongPassword123!
-v /data/mysql/data:/var/lib/mysql
--restart always
mysql:8.0
-p 3306:3306:将容器端口映射到服务器。-e MYSQL_ROOT_PASSWORD:设置 root 密码(必须包含大小写字母、数字和符号,符合强密码策略)。-v:将容器内的数据目录挂载到宿主机,防止容器删除导致数据丢失。
关键后续与安全建议(必读)
无论采用哪种方案,安装完成后必须执行以下操作以确保合规与安全:
-
网络白名单(安全组):
- 切勿在公网开放 3306 端口给
0.0.0.0/0(所有 IP)。 - 最佳实践:仅在安全组中放行你开发机或应用服务器的特定 IP 地址。如果必须对公网开放,请配合高安全性的密码策略或使用 SSH 隧道。
- 切勿在公网开放 3306 端口给
-
权限最小化原则:
- 不要直接用
root账号连接应用程序。 - 为每个项目创建独立的数据库用户,并仅授予该数据库的
SELECT,INSERT,UPDATE,DELETE权限。
- 不要直接用
-
定期备份:
- 利用云厂商自带的“云盘快照”功能,设置自动快照策略。
- 或者使用
mysqldump编写定时任务脚本,将 SQL 文件备份到对象存储(OSS/COS)中。
-
版本选择:
- MySQL 5.7:稳定,兼容性好,但官方已停止部分支持,适合老旧系统。
- MySQL 8.0:性能更强,安全性更高(默认密码插件),是当前新建项目的推荐版本。
根据你的具体需求(是个人学习、测试环境还是生产环境),选择上述方案即可。如果是生产环境且缺乏运维经验,方案一中的“云厂商自带 RDS 服务”(而非自己买 ECS 装 MySQL)其实是更稳妥的选择,它能自动处理备份、高可用和补丁升级,虽然成本略高,但能大幅降低故障风险。
CLOUD云枢