Alibaba Cloud Linux 3.2104 LTS 64位安装mysql?

在 Alibaba Cloud Linux 3.2104 LTS (基于 CentOS/RHEL 8/AlmaLinux 生态) 上安装 MySQL,最推荐的方式是使用 DNF/YUM 官方仓库MySQL 官方 YUM 源。以下是详细步骤:


✅ 推荐方式:使用 MySQL 官方 YUM 源安装(最新稳定版)

1. 添加 MySQL 官方 YUM 仓库

sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-5.noarch.rpm

注意:mysql80-community-release-el8-5.noarch.rpm 适用于 RHEL/CentOS 8 系列,Alibaba Cloud Linux 3 兼容此包。

如需安装其他版本(如 MySQL 5.7),可替换为:

sudo dnf install -y https://dev.mysql.com/get/mysql57-community-release-el8-5.noarch.rpm

2. 启用所需版本并安装

默认启用的是 MySQL 8.0。如需切换版本,可使用:

# 查看可用模块
dnf module list mysql

# 禁用默认模块,启用特定版本(例如 8.0)
sudo dnf module reset mysql -y
sudo dnf module enable mysql:8.0 -y

然后安装 MySQL 服务器:

sudo dnf install -y mysql-community-server

3. 启动并设置开机自启

sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld

4. 获取临时密码并修改 root 密码

MySQL 8.0 首次安装后会生成一个临时密码,位于日志文件中:

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

输出类似:

[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: abcdefghijklmnop

使用临时密码登录并修改:

mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword123!';
FLUSH PRIVILEGES;
EXIT;

⚠️ MySQL 8.0 默认要求密码符合复杂度策略(大小写+数字+特殊字符)。

5. 配置远程访问(可选)

编辑配置文件:

sudo vi /etc/my.cnf.d/mysql-server.cnf

[mysqld] 段落下添加或修改:

bind-address = 0.0.0.0

重启服务:

sudo systemctl restart mysqld

创建允许远程登录的用户:

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

6. 开放防火墙端口(阿里云 ECS 还需配置安全组)

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

并在阿里云控制台 → ECS 实例 → 安全组规则中添加入方向规则:

  • 协议:TCP
  • 端口范围:3306
  • 授权对象:你的 IP 或 0.0.0.0/0(谨慎使用)

🔄 替代方式:使用系统默认仓库(MariaDB 或旧版 MySQL)

Alibaba Cloud Linux 3 默认可能提供 MariaDB:

sudo dnf install -y mariadb-server
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

但如果你需要 Oracle MySQL,建议使用上述官方 YUM 源方式。


🔒 安全建议

  1. 运行 mysql_secure_installation 清理匿名用户、禁止 root 远程登录等。
  2. 定期更新 MySQL:
    sudo dnf update mysql-community-server
  3. 备份重要数据。

❓ 常见问题

Q: 安装时提示依赖冲突?
A: 确保没有预装其他 MySQL/MariaDB 包:

sudo dnf remove -y mysql* mariadb*

Q: 无法启动 mysqld?
A: 检查日志:

sudo journalctl -u mysqld -n 50 --no-pager
sudo cat /var/log/mysqld.log | tail -50

Q: 如何验证安装成功?

mysql -u root -p -e "SELECT VERSION();"

如需安装 MySQL 5.7Percona Server,也可参考官方文档调整 YUM 源地址。

如有具体错误信息,欢迎提供日志以便进一步排查!