在阿里云轻量服务器上如何自行搭建数据库?

在阿里云轻量应用服务器(LightHouse)上自行搭建数据库,是一个常见且实用的操作。以下以搭建 MySQL 数据库为例,详细说明步骤(适用于 Ubuntu/CentOS 系统)。你也可以选择 PostgreSQL、MariaDB 或 SQLite 等,但 MySQL 是最常用的选择之一。


✅ 一、准备工作

  1. 登录轻量服务器

    • 使用 SSH 登录你的阿里云轻量服务器:
      ssh root@<你的服务器公网IP>

      (请替换 <你的服务器公网IP> 为实际 IP)

  2. 更新系统包

    # 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(无需服务)

✅ 六、安全建议

  1. 不要长期使用 root 远程登录
  2. 定期备份数据库
  3. 使用强密码
  4. 限制防火墙只允许可信 IP 访问 3306
  5. 考虑使用 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、自动化备份等),欢迎继续提问!