AlamLinux9.7安装Mysql8

吴书松
吴书松
发布于 2026-03-28 / 3 阅读
0
0

AlamLinux9.7安装Mysql8

好的,这里为你提供在 AlmaLinux 9.7 上安装 MySQL 8.0 社区版的完整详细步骤。
整个流程基于 MySQL 官方 Yum 仓库,安装的是当前官方推荐且免费开源的版本,可以放心使用。


📋 安装前准备

  1. 更新系统软件包
    保持系统为最新状态,避免依赖冲突。

    bash

    sudo dnf update -y
  2. 检查并清理可能的残留
    如果系统中已安装 MariaDB 或其他 MySQL 版本,建议先卸载,防止冲突。

    bash

    # 查看已安装的数据库相关包
    rpm -qa | grep -E 'mysql|mariadb'
    
    # 如有输出,则卸载(将 <包名> 替换为实际名称)
    # sudo dnf remove <包名>

🧩 第一步:添加 MySQL 官方 Yum 仓库

MySQL 官方为 RHEL 9 / AlmaLinux 9 提供了专门的仓库包。执行以下命令即可添加:

bash

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

此命令会下载并安装仓库配置文件,之后系统就能通过 dnf 直接安装 MySQL 8.0。


📦 第二步:安装 MySQL 服务器

bash

sudo dnf install -y mysql-community-server

安装过程中会自动下载并安装 MySQL 8.0 服务端、客户端以及相关依赖。


🚀 第三步:启动并设置开机自启

  1. 启动 MySQL 服务

    bash

    sudo systemctl start mysqld
  2. 检查服务状态(确保显示 active (running)

    bash

    sudo systemctl status mysqld
  3. 设置开机自启

    bash

    sudo systemctl enable mysqld

🔐 第四步:获取临时 root 密码

MySQL 8.0 在首次启动时会生成一个随机的临时 root 密码,并记录在错误日志中。通过以下命令查看:

bash

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

输出类似:

text

2025-03-28T10:00:00.123456Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: JqkfRqW2sh?e

其中 JqkfRqW2sh?e 就是临时密码。请务必复制并妥善保存


⚙️ 第五步:安全配置(修改 root 密码、删除匿名用户等)

运行 MySQL 自带的安全脚本,对数据库进行初始加固:

bash

sudo mysql_secure_installation

按照提示依次操作:

  1. Enter password for user root:
    输入上一步获取的临时密码

  2. Change the password for root ? [Y/n]
    输入 Y,然后设置新的 root 密码。
    注意:MySQL 8.0 默认密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,且长度不少于 8 位。
    例如:MyStrongPass@123

  3. Remove anonymous users? [Y/n]
    输入 Y,删除匿名用户。

  4. Disallow root login remotely? [Y/n]
    输入 Y,禁止 root 用户远程登录(提高安全性)。

  5. Remove test database and access to it? [Y/n]
    输入 Y,删除测试数据库。

  6. Reload privilege tables now? [Y/n]
    输入 Y,使权限更改立即生效。


✅ 第六步:验证安装

使用新设置的 root 密码登录 MySQL:

bash

mysql -u root -p

输入密码后,如果出现 mysql> 提示符,说明登录成功。可以查看版本:

sql

SELECT VERSION();

预期输出类似:8.0.36 或更高版本号。
退出用 EXIT;


🌐 第七步(可选):配置远程访问

如果需要在其他机器上连接此数据库,按以下步骤开放远程连接:

  1. 修改 MySQL 配置文件,让 MySQL 监听所有网络接口:

    bash

    sudo nano /etc/my.cnf

    找到 bind-address 行,将其注释或修改为 0.0.0.0

    text

    # bind-address = 127.0.0.1

    保存并退出。

  2. 重启 MySQL 服务

    bash

    sudo systemctl restart mysqld
  3. 在 MySQL 中创建远程访问用户(不建议直接用 root 远程登录):

    sql

    CREATE USER 'your_username'@'%' IDENTIFIED BY 'your_strong_password';
    GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%';
    FLUSH PRIVILEGES;

    如果需要限制特定 IP,可将 % 替换为具体 IP 地址。

  4. 开放防火墙 3306 端口

    bash

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

🧪 测试远程连接(可选)

在其他机器上执行:

bash

mysql -h <服务器IP> -u your_username -p

输入密码后能成功登录即表示配置正确。


💡 常见问题与提示

  • 密码策略太严格怎么办?
    如果希望降低密码复杂度要求,可以登录 MySQL 后执行:

    sql

    SET GLOBAL validate_password.policy = LOW;
    SET GLOBAL validate_password.length = 4;

    之后再修改密码。但这会降低安全性,生产环境不建议这样做。

  • 如果忘记 root 密码
    可以参考 MySQL 官方文档的“重置 root 密码”流程,或联系我获取帮助。

  • 关于 MySQL 8.0 的兼容性
    如果你的应用曾经运行在 MySQL 5.7 上,升级到 8.0 时需要注意一些语法变化(如 GROUP BY 行为更严格)。建议先在测试环境验证。


至此,你已经成功在 AlmaLinux 9.7 上安装并配置好了 MySQL 8.0 社区版。如果你在安装过程中遇到任何问题,欢迎随时追问!


评论