alibaba cloud linux 3.2104 64位如何安装数据库?

在 Alibaba Cloud Linux 3.2104(基于 RHEL/CentOS 8/9 体系)上安装数据库,具体步骤取决于你想安装的数据库类型。最常见的两种是:

  1. MySQL / MariaDB(开源关系型数据库)
  2. PostgreSQL
  3. Redis(内存数据库)
  4. Oracle Database(商业数据库,需单独授权)

下面以最常用且官方推荐的方式——使用系统包管理器 dnf 安装 MySQL 8.0 为例,提供详细步骤。其他数据库类似。


✅ 一、安装 MySQL 8.0(推荐方式)

Alibaba Cloud Linux 3 默认包含 MySQL 模块,可通过 AppStream 仓库直接安装。

1. 更新系统并启用 MySQL 模块

sudo dnf update -y
sudo dnf module list | grep mysql

你会看到类似输出:

mysql        MySQL 8.0 server and related modules
...

启用 MySQL 8.0 模块:

sudo dnf module enable mysql:8.0 -y

2. 安装 MySQL Server

sudo dnf install mysql-server -y

3. 启动并设置开机自启

sudo systemctl start mysqld
sudo systemctl enable mysqld

4. 检查服务状态

sudo systemctl status mysqld

应显示 active (running)

5. 安全初始化(重要!)

MySQL 首次启动后,会生成临时密码。运行安全脚本:

sudo mysql_secure_installation

按提示操作:

  • 设置 root 密码
  • 删除匿名用户
  • 禁止远程 root 登录
  • 删除 test 数据库
  • 刷新权限

💡 如果你希望跳过交互式设置,也可以手动重置 root 密码(见下文“常见问题”)。

6. 验证安装

mysql -u root -p

输入密码后进入 MySQL 命令行,执行:

SELECT VERSION();

✅ 二、安装 PostgreSQL(可选)

sudo dnf install postgresql-server -y
sudo postgresql-setup --initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo systemctl status postgresql

默认用户为 postgres,切换用户设置密码:

sudo su - postgres
psql
password postgres
q
exit

✅ 三、安装 Redis(可选)

sudo dnf install redis -y
sudo systemctl start redis
sudo systemctl enable redis
sudo systemctl status redis

测试连接:

redis-cli ping
# 应返回 PONG

❗ 常见问题与注意事项

1. 忘记 MySQL root 密码?

编辑 /etc/my.cnf,在 [mysqld] 段添加:

skip-grant-tables

重启 MySQL:

sudo systemctl restart mysqld

然后无密码登录:

mysql -u root

执行:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
FLUSH PRIVILEGES;
EXIT;

删除 /etc/my.cnf 中的 skip-grant-tables,再重启 MySQL。

2. 允许远程访问 MySQL?

编辑 /etc/my.cnf.d/mysql-server.cnf,找到:

bind-address = 127.0.0.1

改为:

bind-address = 0.0.0.0

或注释掉该行。

然后在 MySQL 中创建允许远程登录的用户:

CREATE USER 'youruser'@'%' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON *.* TO 'youruser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

⚠️ 安全警告:生产环境建议使用防火墙限制 IP,而非开放所有地址。

3. 防火墙配置

如果从外部连接数据库,需开放端口:

sudo firewall-cmd --permanent --add-port=3306/tcp   # MySQL
sudo firewall-cmd --permanent --add-port=5432/tcp   # PostgreSQL
sudo firewall-cmd --permanent --add-port=6379/tcp   # Redis
sudo firewall-cmd --reload

或在阿里云控制台安全组中放行对应端口。

4. 使用 Docker 安装(替代方案)

如果你更喜欢容器化部署:

sudo dnf install docker-ce docker-ce-cli containerd.io -y
sudo systemctl start docker
sudo systemctl enable docker

docker run -d --name mysql 
  -e MYSQL_ROOT_PASSWORD=yourpassword 
  -p 3306:3306 
  mysql:8.0

📌 总结

数据库 安装命令 默认端口
MySQL dnf install mysql-server 3306
PostgreSQL dnf install postgresql-server 5432
Redis dnf install redis 6379
MongoDB 需添加 EPEL 或官方源 27017

💡 建议:对于生产环境,推荐使用阿里云 RDS(托管数据库服务),可自动备份、高可用、安全加固,无需手动维护。

如需安装其他数据库(如 Oracle、SQL Server、MongoDB 等),请告知,我可提供对应步骤。