速卖通素材
努力

轻量服务器部署MySQL?

服务器

在轻量服务器(如阿里云轻量应用服务器、腾讯云轻量应用服务器、AWS Lightsail 等)上部署 MySQL 是一个常见需求,适合小型项目、个人博客或测试环境。以下是详细的部署步骤和优化建议。


✅ 一、环境准备

假设你使用的是 Ubuntu 20.04/22.04 系统(常见于轻量服务器):

  1. 登录服务器

    ssh root@your_server_ip
  2. 更新系统包

    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

✅ 七、安全建议

  1. 定期备份:使用 crontab 自动备份
  2. 使用强密码
  3. 关闭 root 远程登录
  4. 定期更新系统和 MySQL
  5. 使用 SSH 隧道连接(比开放 3306 更安全)

✅ 八、替代方案(更轻量)

如果资源非常紧张,可考虑:

  • SQLite:无服务、文件型数据库,适合低并发
  • MariaDB:MySQL 分支,更轻量,兼容性好
    sudo apt install mariadb-server -y

总结

在轻量服务器上部署 MySQL 是完全可行的,关键在于:

  • 正确配置内存参数
  • 保障安全性(防火墙、用户权限)
  • 定期备份

如果你是用于 WordPress、个人项目或开发测试,这套方案足够稳定高效。

需要我提供一键部署脚本或 Docker 部署方式吗?

未经允许不得转载:轻量云Cloud » 轻量服务器部署MySQL?