Rockylinux 9.x YUM 安装 MySQL 8.0 | IT运维网
  • 本站为个人技术分享平台,主要更新系统、网络、存储、虚拟化及云计算等相关内容,欢迎大家一起学习、交流与探讨。
  • 感谢您的访问!欢迎加入本站QQ交流群:654792529。如您觉得本站内容有价值,欢迎按下 Ctrl+D 收藏本页!

Rockylinux 9.x YUM 安装 MySQL 8.0

MySQL yvan 1天前 29次浏览 已收录 0个评论

一、说明

1、Rocky Linux 9.x 系统默认集成了 MySQL 8.0 的仓库源,因此可以通过 dnf 命令直接在线安装,优点是操作简单快捷,缺点是 MySQL 的小版本随系统仓库更新,无法自由选择较新的小版本。
2、本文采用的是 MySQL 官方仓库源 进行安装,优点是可灵活选择并安装最新的小版本,缺点是相较系统仓库安装方式,步骤稍微多一些。

二、安装部署

1、安装 MySQL 官方 YUM 仓库:dnf install -y https://dev.mysql.com/get/mysql84-community-release-el9-2.noarch.rpm

# dnf install -y https://dev.mysql.com/get/mysql84-community-release-el9-2.noarch.rpm
mysql84-community-release-el9-2.noarch.rpm                           5.0 kB/s |  14 kB     00:02
Dependencies resolved.
=====================================================================================================
 Package                             Architecture     Version           Repository          Size
=====================================================================================================
Installing:
 mysql84-community-release           noarch           el9-2             @commandline        14 k

Transaction Summary
=====================================================================================================
Install  1 Package

Total size: 14 k
Installed size: 16 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                         1/1
  Installing       : mysql84-community-release-el9-2.noarch                                  1/1
  Running scriptlet: mysql84-community-release-el9-2.noarch                                  1/1
  Verifying        : mysql84-community-release-el9-2.noarch                                  1/1

Installed:
  mysql84-community-release-el9-2.noarch

Complete!

2、查看已启用仓库:dnf repolist all | grep mysql

# dnf repolist all | grep mysql
mysql-8.4-lts-community                      MySQL 8.4 LTS Community Se enabled
mysql-8.4-lts-community-debuginfo            MySQL 8.4 LTS Community Se disabled
mysql-8.4-lts-community-source               MySQL 8.4 LTS Community Se disabled
mysql-cluster-8.0-community                  MySQL Cluster 8.0 Communit disabled
mysql-cluster-8.0-community-debuginfo        MySQL Cluster 8.0 Communit disabled
mysql-cluster-8.0-community-source           MySQL Cluster 8.0 Communit disabled
mysql-cluster-8.4-lts-community              MySQL Cluster 8.4 LTS Comm disabled
mysql-cluster-8.4-lts-community-debuginfo    MySQL Cluster 8.4 LTS Comm disabled
mysql-cluster-8.4-lts-community-source       MySQL Cluster 8.4 LTS Comm disabled
mysql-cluster-innovation-community           MySQL Cluster Innovation R disabled
mysql-cluster-innovation-community-debuginfo MySQL Cluster Innovation R disabled
mysql-cluster-innovation-community-source    MySQL Cluster Innovation R disabled
mysql-connectors-community                   MySQL Connectors Community enabled
mysql-connectors-community-debuginfo         MySQL Connectors Community disabled
mysql-connectors-community-source            MySQL Connectors Community disabled
mysql-innovation-community                   MySQL Innovation Release C disabled
mysql-innovation-community-debuginfo         MySQL Innovation Release C disabled
mysql-innovation-community-source            MySQL Innovation Release C disabled
mysql-tools-8.4-lts-community                MySQL Tools 8.4 LTS Commun enabled
mysql-tools-8.4-lts-community-debuginfo      MySQL Tools 8.4 LTS Commun disabled
mysql-tools-8.4-lts-community-source         MySQL Tools 8.4 LTS Commun disabled
mysql-tools-community                        MySQL Tools Community      disabled
mysql-tools-community-debuginfo              MySQL Tools Community - De disabled
mysql-tools-community-source                 MySQL Tools Community - So disabled
mysql-tools-innovation-community             MySQL Tools Innovation Com disabled
mysql-tools-innovation-community-debuginfo   MySQL Tools Innovation Com disabled
mysql-tools-innovation-community-source      MySQL Tools Innovation Com disabled
mysql80-community                            MySQL 8.0 Community Server disabled
mysql80-community-debuginfo                  MySQL 8.0 Community Server disabled
mysql80-community-source                     MySQL 8.0 Community Server disabled

3、禁用 8.4 仓库,启用 8.0 仓库:
    # dnf config-manager –disable mysql-8.4-lts-community mysql-tools-8.4-lts-community
    # dnf config-manager –enable mysql80-community mysql-tools-community
4、安装MySQL:dnf install -y mysql-community-server

# dnf install -y mysql-community-server
MySQL Connectors Community                                            38 kB/s |  90 kB     00:02
MySQL 8.0 Community Server                                           767 kB/s | 2.7 MB     00:03
MySQL Tools Community                                                262 kB/s | 1.2 MB     00:04
Last metadata expiration check: 0:00:01 ago on Tue 29 Jul 2025 08:00:28 PM CST.
Dependencies resolved.
=====================================================================================================
 Package                           Arch      Version                      Repository            Size
=====================================================================================================
Installing:
 mysql-community-server            x86_64    8.0.43-1.el9                 mysql80-community     50 M
Installing dependencies:
 libaio                            x86_64    0.3.111-13.el9               baseos                23 k
......此处省略......
 net-tools                         x86_64    2.0-0.64.20160912git.el9     baseos               294 k

Transaction Summary
=====================================================================================================
Install  8 Packages

Total download size: 59 M
Installed size: 338 M
Downloading Packages:
(1/8): mysql-community-common-8.0.43-1.el9.x86_64.rpm                336 kB/s | 556 kB     00:01
......此处省略......
(8/8): mysql-community-server-8.0.43-1.el9.x86_64.rpm                 14 MB/s |  50 MB     00:03
-----------------------------------------------------------------------------------------------------
Total                                                                9.4 MB/s |  59 MB     00:06
MySQL 8.0 Community Server                                           3.0 MB/s | 3.1 kB     00:00
Importing GPG key 0xA8D3785C:
 Userid     : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
 Fingerprint: BCA4 3417 C3B4 85DD 128E C6D4 B7B3 B788 A8D3 785C
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023
Key imported successfully
MySQL 8.0 Community Server                                           3.0 MB/s | 3.1 kB     00:00
Importing GPG key 0x3A79BD29:
 Userid     : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
 Fingerprint: 859B E8D7 C586 F538 430B 19C2 467B 942D 3A79 BD29
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                         1/1
  Installing       : mysql-community-common-8.0.43-1.el9.x86_64                              1/8
......此处省略......
  Verifying        : libaio-0.3.111-13.el9.x86_64                                            8/8

Installed:
  libaio-0.3.111-13.el9.x86_64                        mysql-community-client-8.0.43-1.el9.x86_64
......此处省略......
  mysql-community-server-8.0.43-1.el9.x86_64          net-tools-2.0-0.64.20160912git.el9.x86_64

Complete!

5、启动并设置服务开机启动:systemctl enable –now mysqld

# systemctl enable --now mysqld
# systemctl status mysqld
● mysqld.service - MySQL Server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: active (running) since Tue 2025-07-29 20:02:06 CST; 5s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 3776 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
   Main PID: 3897 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 48698)
     Memory: 490.7M
        CPU: 3.685s
     CGroup: /system.slice/mysqld.service
             └─3897 /usr/sbin/mysqld

Jul 29 20:01:56 localhost.localdomain systemd[1]: Starting MySQL Server...
Jul 29 20:02:06 localhost.localdomain systemd[1]: Started MySQL Server.

6、查验安装版本:mysqladmin -V

# mysqladmin -V
mysqladmin  Ver 8.0.43 for Linux on x86_64 (MySQL Community Server - GPL)

7、查看root用户临时密码:grep ‘temporary password’ /var/log/mysqld.log

# grep 'temporary password' /var/log/mysqld.log
2025-07-29T12:02:02.627256Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ,iP-yZ,uj9d%
至此,MySQL 已完成安装部署。若在生产环境中使用,建议继续执行下面的初始化配置操作,以提升安全性与稳定性。

三、初始化操作

1、使用临时密码执行 mysql_secure_installation 命令进行初始化操作:mysql_secure_installation

# mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root:  # 输入临时密码

The existing password for the user account root has expired. Please set a new password.

New password:  # 设置新密码

Re-enter new password:  # 确认新密码
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : No  # 输入No无需再次更换密码

 ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Yes  # 输入Yes确认删除匿名用户
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Yes  # 输入Yes禁止root远程登录
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Yes  # 输入Yes删除test测试数据库
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Yes  # 输入Yes重新加载权限表
Success.

All done!

2、初始化执行了以下安全加固措施:
    1、重设了 root 密码
    2、保留已有密码,不再二次更改
    3、删除匿名用户
    4、禁止 root 用户远程登录
    5、删除 test 数据库
    6、刷新权限表


IT运维网 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Rockylinux 9.x YUM 安装 MySQL 8.0
喜欢 (0)
yvan
关于作者:
聪明来自勤奋、知识在于积累、好记性不如烂键盘!

您必须 登录 才能发表评论!