在轻量应用服务器上部署数据库,是一个常见需求,尤其适用于中小型网站、Web 应用或个人项目。以下是以常见的 MySQL 或 MariaDB 为例,在 Linux 系统(如 Ubuntu 或 CentOS) 上部署数据库的完整流程。
✅ 一、准备工作
1. 购买并登录轻量应用服务器
- 登录云服务商平台(如:腾讯云、阿里云、华为云等)购买轻量应用服务器。
- 获取服务器公网 IP 和登录凭证(SSH 密钥或密码)。
2. 连接服务器
使用 SSH 连接到你的服务器:
ssh root@你的服务器IP
✅ 二、安装数据库(以 MySQL 为例)
Ubuntu 安装 MySQL
# 更新软件包列表
sudo apt update
# 安装 MySQL 服务器
sudo apt install mysql-server
# 启动 MySQL 服务
sudo systemctl start mysql
# 设置开机自启
sudo systemctl enable mysql
CentOS 安装 MariaDB(CentOS 默认使用 MariaDB 替代 MySQL)
# 更新软件包
sudo yum update
# 安装 MariaDB
sudo yum install mariadb-server mariadb
# 启动 MariaDB
sudo systemctl start mariadb
# 设置开机启动
sudo systemctl enable mariadb
✅ 三、配置数据库安全设置
运行安全初始化脚本:
sudo mysql_secure_installation
按照提示设置 root 用户密码、删除匿名用户、禁止远程 root 登录等。
✅ 四、创建数据库和用户(可选)
进入 MySQL 命令行:
mysql -u root -p
执行如下 SQL 命令:
-- 创建数据库
CREATE DATABASE mydatabase;
-- 创建用户并授权
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
✅ 五、允许远程访问数据库(可选)
默认情况下,MySQL 只允许本地访问。如果你希望从其他机器连接数据库,需要做以下配置:
修改 MySQL 配置文件
Ubuntu:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
CentOS:
sudo nano /etc/my.cnf
找到 bind-address 行,将其注释或改为:
bind-address = 0.0.0.0
保存并退出,重启 MySQL:
sudo systemctl restart mysql
在数据库中添加远程访问权限:
CREATE USER 'myuser'@'%' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'%';
FLUSH PRIVILEGES;
⚠️ 注意:开放远程访问时务必配置防火墙,仅允许特定 IP 访问数据库端口(3306)。
✅ 六、配置服务器防火墙
Ubuntu(UFW):
sudo ufw allow OpenSSH
sudo ufw allow 3306/tcp
sudo ufw enable
CentOS(firewalld):
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
✅ 七、连接数据库
你可以通过本地客户端(如 Navicat、DBeaver、MySQL Workbench)使用远程 IP + 用户名 + 密码进行连接。
✅ 八、注意事项
| 项目 | 建议 |
|---|---|
| 数据库存储位置 | /var/lib/mysql/ |
| 备份策略 | 定期使用 mysqldump 备份数据 |
| 性能优化 | 根据服务器配置调整 MySQL 的内存参数(如 innodb_buffer_pool_size) |
| 安全性 | 不建议直接开放 3306 给所有人,推荐使用内网通信或跳板机 |
| 使用场景 | 轻量服务器适合小规模数据库,不建议用于高并发生产环境 |
✅ 九、总结
轻量应用服务器部署数据库的基本步骤为:
- 登录服务器
- 安装 MySQL 或 MariaDB
- 初始化安全配置
- 创建数据库与用户
- 开放远程访问(可选)
- 配置防火墙
- 测试连接
如果你有具体使用的云平台(如腾讯云、阿里云),我也可以提供更详细的平台操作指南。
是否需要我为你生成一个完整的自动化部署脚本?
云计算HECS