在轻量服务器(如阿里云轻量应用服务器、腾讯云轻量应用服务器、AWS Lightsail 等)上部署 MySQL 是一个常见需求,适合小型项目、个人博客或测试环境。以下是详细的部署步骤和优化建议。
✅ 一、环境准备
假设你使用的是 Ubuntu 20.04/22.04 系统(常见于轻量服务器):
-
登录服务器
ssh root@your_server_ip -
更新系统包
sudo apt update && sudo apt upgrade -y
✅ 二、安装 MySQL
1. 安装 MySQL 服务器
sudo apt install mysql-server -y
注意:轻量服务器资源有限(如1核1G/2G),建议选择轻量级数据库版本或优化配置。
2. 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
3. 运行安全配置向导(推荐)
sudo mysql_secure_installation
按提示设置:
- 设置 root 密码
- 删除匿名用户
- 禁止 root 远程登录(安全)
- 删除 test 数据库
- 重新加载权限
✅ 三、配置远程访问(可选)
⚠️ 注意:开放远程访问有安全风险,建议仅在必要时开启,并使用防火墙限制 IP。
1. 修改 MySQL 配置文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address,修改为:
bind-address = 0.0.0.0
或注释掉该行(默认监听所有接口)。
2. 重启 MySQL
sudo systemctl restart mysql
3. 创建远程访问用户(推荐非 root)
mysql -u root -p
在 MySQL 中执行:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
🔐 建议:生产环境不要用
%,指定具体 IP,如'remote_user'@'123.123.123.123'
✅ 四、防火墙设置
1. 开放 3306 端口
sudo ufw allow 3306/tcp
2. 或使用云平台安全组
在轻量服务器控制台(如阿里云、腾讯云)中,添加安全组规则:
- 协议:TCP
- 端口:3306
- 源IP:建议限制为你的IP(如 123.123.123.123/32)
✅ 五、性能优化(针对轻量服务器)
轻量服务器内存小,需调整 MySQL 配置以避免 OOM。
编辑配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
添加或修改以下内容(适用于 1G~2G 内存):
[mysqld]
# 基础设置
innodb_buffer_pool_size = 128M
key_buffer_size = 32M
max_connections = 50
query_cache_type = 1
query_cache_size = 16M
tmp_table_size = 32M
max_heap_table_size = 32M
# 日志与安全
log_error = /var/log/mysql/error.log
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
# 跳过主机名解析(提升性能)
skip-name-resolve
保存后重启:
sudo systemctl restart mysql
✅ 六、常用操作
| 操作 | 命令 |
|---|---|
| 登录 MySQL | mysql -u root -p |
| 查看用户 | SELECT User, Host FROM mysql.user; |
| 创建数据库 | CREATE DATABASE myapp; |
| 备份数据库 | mysqldump -u root -p myapp > backup.sql |
| 恢复数据库 | mysql -u root -p myapp < backup.sql |
✅ 七、安全建议
- 定期备份:使用
crontab自动备份 - 使用强密码
- 关闭 root 远程登录
- 定期更新系统和 MySQL
- 使用 SSH 隧道连接(比开放 3306 更安全)
✅ 八、替代方案(更轻量)
如果资源非常紧张,可考虑:
- SQLite:无服务、文件型数据库,适合低并发
- MariaDB:MySQL 分支,更轻量,兼容性好
sudo apt install mariadb-server -y
总结
在轻量服务器上部署 MySQL 是完全可行的,关键在于:
- 正确配置内存参数
- 保障安全性(防火墙、用户权限)
- 定期备份
如果你是用于 WordPress、个人项目或开发测试,这套方案足够稳定高效。
需要我提供一键部署脚本或 Docker 部署方式吗?
轻量云Cloud