阿里云轻量服务器搭建数据库?

在阿里云轻量应用服务器上搭建数据库(如 MySQL、PostgreSQL、MariaDB 等)是一个常见的需求,适合中小型网站、开发测试环境或个人项目。下面以 MySQL 为例,介绍如何在阿里云轻量应用服务器(以 CentOS 系统为例)上安装和配置数据库。


✅ 一、准备工作

1. 登录服务器

使用 SSH 登录你的阿里云轻量服务器:

ssh root@你的服务器IP

或者使用密钥方式登录。


✅ 二、安装 MySQL 数据库

1. 添加 MySQL 官方 YUM 源

下载并添加 MySQL 的官方源(以 MySQL 8.0 为例):

wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
sudo rpm -Uvh mysql80-community-release-el7-7.noarch.rpm

2. 安装 MySQL 服务

sudo yum install mysql-server

安装完成后,确认是否成功:

mysql --version

✅ 三、启动 MySQL 服务并设置开机自启

sudo systemctl start mysqld
sudo systemctl enable mysqld

查看状态:

sudo systemctl status mysqld

✅ 四、获取临时密码并修改初始密码

MySQL 安装后会生成一个临时密码,可以在日志中找到:

sudo grep 'temporary password' /var/log/mysqld.log

输出示例:

A temporary password is generated for root@localhost: s:csf3#sT!r9l

用这个密码登录 MySQL:

mysql -u root -p

然后修改密码(注意:MySQL 8.0 要求密码复杂度较高):

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword123!';

✅ 五、配置远程访问(可选)

默认情况下,MySQL 只允许本地访问。如果你需要从其他机器连接数据库,需要进行如下操作:

1. 创建远程访问用户(推荐做法)

CREATE USER 'remote_user'@'%' IDENTIFIED BY 'RemoteUserPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

不建议直接开放 root 用户的远程访问。

2. 修改 MySQL 配置文件

编辑 MySQL 配置文件:

sudo vi /etc/my.cnf

注释掉 bind-address 或将其改为 0.0.0.0

bind-address = 0.0.0.0

保存后重启 MySQL:

sudo systemctl restart mysqld

✅ 六、配置防火墙允许 3306 端口

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

✅ 七、阿里云安全组配置

登录阿里云控制台,进入轻量服务器管理页面,配置安全组规则:

  • 添加入方向规则,允许 TCP 协议,端口 3306,来源 IP 建议限制为你的客户端 IP(更安全),也可以暂时设为 0.0.0.0/0

✅ 八、使用客户端工具连接数据库(如 Navicat、DBeaver、MySQL Workbench)

填写以下信息即可连接:

  • 主机地址:你的轻量服务器公网 IP
  • 端口:3306
  • 用户名:你创建的远程用户(如 remote_user
  • 密码:你设置的密码

🚨 注意事项与安全性建议

  1. 不要暴露 root 用户给X_X
  2. 尽量限制访问 IP,而不是开放所有 IP (0.0.0.0/0)
  3. 定期备份数据库
  4. 轻量服务器资源有限,不建议运行大型数据库负载
  5. 生产环境建议使用阿里云 RDS 服务

🔚 总结

通过以上步骤,你已经成功在阿里云轻量服务器上搭建了 MySQL 数据库,并实现了远程访问。如果还有问题,比如连接不上、权限错误等,可以检查:

  • 防火墙是否开放 3306 端口
  • 安全组是否放行 3306
  • 是否正确设置了用户权限
  • MySQL 是否监听了 0.0.0.0

如果你需要我帮你写一键安装脚本、配置 MariaDB、PostgreSQL,或者自动备份方案,请告诉我!

未经允许不得转载:云计算HECS » 阿里云轻量服务器搭建数据库?