在阿里云轻量应用服务器(LightHouse)上自行搭建数据库,是一个常见且实用的操作。以下以搭建 MySQL 数据库为例,详细说明步骤(适用于 Ubuntu/CentOS 系统)。你也可以选择 PostgreSQL、MariaDB 或 SQLite 等,但 MySQL 是最常用的选择之一。
✅ 一、准备工作
-
登录轻量服务器
- 使用 SSH 登录你的阿里云轻量服务器:
ssh root@<你的服务器公网IP>(请替换
<你的服务器公网IP>为实际 IP)
- 使用 SSH 登录你的阿里云轻量服务器:
-
更新系统包
# Ubuntu/Debian sudo apt update && sudo apt upgrade -y # CentOS/Rocky Linux sudo yum update -y
✅ 二、安装 MySQL 数据库
方法一:安装 MySQL Community Server(推荐)
1. 添加 MySQL 官方仓库(以 Ubuntu 为例)
# 下载并安装 MySQL APT 配置包
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),然后选 OK。
# 更新包列表
sudo apt update
# 安装 MySQL 服务器
sudo apt install mysql-server -y
2. 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
3. 运行安全初始化脚本
sudo mysql_secure_installation
该脚本会引导你:
- 设置 root 用户密码
- 移除匿名用户
- 禁止 root 远程登录(建议保留本地)
- 删除测试数据库
- 重新加载权限表
✅ 三、配置远程访问(可选)
如果你希望从外部连接数据库(如本地程序或另一台服务器),需要做以下配置:
1. 修改 MySQL 配置文件
编辑 MySQL 配置文件(路径可能因版本而异):
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address 行,将其改为:
bind-address = 0.0.0.0
⚠️ 注意:开放 0.0.0.0 存在安全风险,请确保防火墙和账号权限控制得当。
保存并退出(Ctrl+O → Enter → Ctrl+X)。
2. 重启 MySQL 服务
sudo systemctl restart mysql
3. 创建允许远程访问的用户
登录 MySQL:
mysql -u root -p
执行 SQL 命令:
-- 创建新用户(例如用户名为 dbuser,密码为 your_password)
CREATE USER 'dbuser'@'%' IDENTIFIED BY 'your_password';
-- 授予该用户对某个数据库的权限(例如 mydb)
GRANT ALL PRIVILEGES ON mydb.* TO 'dbuser'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
%表示允许从任意 IP 连接,也可指定具体 IP 如'dbuser'@'192.168.1.100'
4. 在阿里云控制台开放端口
进入 阿里云轻量服务器控制台:
- 找到你的实例 → 防火墙 → 添加规则
- 放行 3306 端口(MySQL 默认端口)
- 协议类型:TCP
- 端口范围:3306
- 源 IP:可填
0.0.0.0/0(全部开放,谨慎使用)或指定你的 IP
✅ 四、测试连接
你可以使用本地工具(如 Navicat、DBeaver、MySQL Workbench)通过以下信息连接:
- 主机地址:你的轻量服务器公网 IP
- 端口:3306
- 用户名:
dbuser - 密码:
your_password - 数据库名:
mydb(或其他你创建的库)
✅ 五、其他数据库选择(简要)
| 数据库 | 安装命令(Ubuntu) |
|---|---|
| MariaDB | sudo apt install mariadb-server |
| PostgreSQL | sudo apt install postgresql |
| SQLite | sudo apt install sqlite3(无需服务) |
✅ 六、安全建议
- 不要长期使用 root 远程登录
- 定期备份数据库
- 使用强密码
- 限制防火墙只允许可信 IP 访问 3306
- 考虑使用 SSL 加密连接
✅ 七、常见问题排查
-
无法连接?
- 检查防火墙是否放行 3306
- 检查
bind-address是否为0.0.0.0 - 检查用户是否允许
%登录 - 使用
telnet 公网IP 3306测试端口连通性
-
MySQL 服务无法启动?
- 查看日志:
sudo journalctl -u mysql.service - 检查磁盘空间:
df -h
- 查看日志:
✅ 总结:
你已经成功在阿里云轻量服务器上搭建了 MySQL 数据库,并可支持远程访问。后续可以部署 Web 应用(如 WordPress、Node.js、Django)连接此数据库。
如有具体需求(如搭建 MongoDB、Redis、自动化备份等),欢迎继续提问!
CLOUD技术笔记