在云服务器上搭建 MySQL 服务器是一个常见且重要的任务,适用于 Web 应用、数据存储等场景。以下是详细的配置步骤,适用于主流 Linux 系统(如 Ubuntu/CentOS)。
一、准备工作
-
选择云服务器
- 推荐配置:2核 CPU、4GB 内存、50GB 以上硬盘(SSD 更佳)
- 操作系统:Ubuntu 20.04/22.04 或 CentOS 7/8
-
登录云服务器
ssh root@your_server_ip -
更新系统
# Ubuntu sudo apt update && sudo apt upgrade -y # CentOS sudo yum update -y
二、安装 MySQL
Ubuntu 安装方式(推荐使用 MySQL 官方 APT 源)
-
添加 MySQL 官方仓库(以 MySQL 8.0 为例):
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb安装过程中选择 MySQL 8.0,然后确认。
-
更新包列表并安装 MySQL:
sudo apt update sudo apt install mysql-server -y
CentOS 安装方式
-
添加 MySQL Yum 源:
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm -
安装 MySQL 服务器:
sudo yum install mysql-server -y
三、启动并设置开机自启
# 启动 MySQL 服务
sudo systemctl start mysqld
# 设置开机自启
sudo systemctl enable mysqld
# 查看状态
sudo systemctl status mysqld
四、初始化安全设置
运行安全脚本(Ubuntu/CentOS 通用):
sudo mysql_secure_installation
按提示操作:
- 设置 root 密码(建议强密码)
- 移除匿名用户
- 禁止 root 远程登录(可选)
- 删除测试数据库
- 重新加载权限
⚠️ 注意:如果需要远程访问,不要禁止 root 远程登录,或创建专用用户。
五、配置远程访问(可选)
-
修改 MySQL 配置文件
编辑
/etc/mysql/mysql.conf.d/mysqld.cnf(Ubuntu)或/etc/my.cnf(CentOS):bind-address = 0.0.0.0原来的
127.0.0.1改为0.0.0.0允许外部连接。 -
重启 MySQL
sudo systemctl restart mysqld -
创建允许远程连接的用户
mysql -u root -p -- 创建用户并授权 CREATE USER 'admin'@'%' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
六、开放防火墙端口
MySQL 默认端口:3306
# Ubuntu (ufw)
sudo ufw allow 3306
# CentOS (firewalld)
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
⚠️ 安全建议:限制 IP 访问,如只允许特定 IP 段:
sudo ufw allow from 192.168.1.0/24 to any port 3306
七、云平台安全组配置
登录云服务商控制台(如阿里云、腾讯云、AWS、华为云等):
- 找到“安全组”设置
- 添加入站规则:
- 协议类型:TCP
- 端口范围:3306
- 源 IP:建议指定 IP 或 IP 段(如
203.0.113.10/32),避免开放0.0.0.0/0
八、测试连接
从本地使用 MySQL 客户端连接:
mysql -h your_server_ip -u admin -p
或使用图形工具(如 Navicat、DBeaver)测试。
九、性能与安全优化建议
- 修改默认端口(可选):减少暴力破解风险
- 定期备份:
mysqldump -u root -p --all-databases > backup.sql - 启用日志审计(企业级需求)
- 使用 SSL 加密连接
- 限制用户权限:按需分配,避免
GRANT ALL
十、常见问题排查
| 问题 | 解决方案 |
|---|---|
| 连接被拒绝 | 检查防火墙、安全组、bind-address |
| 用户权限不足 | 使用 GRANT 授权并 FLUSH PRIVILEGES |
| MySQL 无法启动 | 查看日志 sudo tail -f /var/log/mysql/error.log |
✅ 总结:
搭建 MySQL 云服务器核心步骤:
安装 → 配置安全 → 开启远程 → 防火墙/安全组 → 测试连接
只要注意权限控制和网络安全,即可安全稳定运行。
如需自动化部署,可使用脚本或 Ansible 等工具。需要我提供一键部署脚本吗?
ECLOUD博客