当前位置: 首页 > news >正文

MySQL介绍和MySQL包安装 -- RHEL系列(Yum资源库安装MySQL)

文章目录

  • MySQL介绍和安装
  • 1.MySQL介绍
    • 1.1 MySQL 的定义
    • 1.2 MySQL 的特点
    • 1.3 MySQL 的应用领域
    • 1.4 MySQL 的存储引擎
    • 1.5 MySQL 的架构
    • 1.6 MySQL 的优势和局限性
    • 1.7 MySQL 的未来发展趋势
  • 2.MySQL安装
    • 2.1 主机初始化
      • 2.1.1 设置网卡名
      • 2.1.2 设置ip地址
      • 2.1.3 配置镜像源
      • 2.1.4 关闭防火墙
      • 2.1.5 禁用SELinux
      • 2.1.6 禁用AppArmor
      • 2.1.7 设置时区
    • 2.2 包安装
      • 2.2.1 RHEL系列
        • 2.2.1.1 Yum资源库安装MySQL
          • 2.2.1.1.1 MySQL 8.0
          • 2.2.1.1.2 MySQL 8.4

MySQL介绍和安装

1.MySQL介绍

t1

图1 MySQL

MySQL官方:https://www.mysql.com

MySQL 是一种非常流行的开源关系型数据库管理系统(RDBMS),广泛应用于各种规模的项目中,从小型网站到大型企业级应用。以下是关于 MySQL 的详细介绍:

1.1 MySQL 的定义

MySQL 是一个高性能、多用户、多线程的 SQL 数据库服务器,它使用 SQL(Structured Query Language,结构化查询语言)作为与数据库交互的接口。它最初由瑞典的 MySQL AB 公司开发,后来被 Sun 公司收购,再后来随着 Oracle 收购 Sun,MySQL 成为 Oracle 公司旗下的产品。不过,MySQL 仍然保持开源,遵循 GPL(General Public License)许可证。

1.2 MySQL 的特点

  1. 开源免费
    • MySQL 是开源软件,这意味着用户可以免费下载、安装和使用它。开源特性也使得 MySQL 的社区非常活跃,有大量的开发者参与贡献代码和插件,帮助不断完善和优化数据库系统。
  2. 高性能
    • MySQL 在处理大量数据时表现出色。它支持多种存储引擎,其中最常用的是 InnoDB。InnoDB 存储引擎提供了事务支持、行级锁定和外键约束等功能,能够有效地提高并发性能和数据一致性。例如,在一个电商网站中,当多个用户同时下单时,InnoDB 存储引擎可以确保订单数据的正确插入和更新,而不会出现数据冲突。
  3. 跨平台
    • MySQL 可以运行在多种操作系统上,包括 Linux、Windows、macOS 等。这种跨平台特性使得开发人员可以在不同的开发环境中使用 MySQL,方便了开发和部署。比如,开发人员可以在 Windows 系统上开发应用程序,而将数据库部署在 Linux 服务器上,以利用 Linux 的稳定性和性能优势。
  4. 易于使用
    • MySQL 提供了简单易用的命令行工具和图形化界面工具(如 MySQL Workbench)。通过这些工具,用户可以方便地进行数据库的创建、表的定义、数据的插入、查询和更新等操作。例如,通过 MySQL Workbench,用户可以直观地看到数据库的结构,通过图形化界面进行 SQL 查询的编写和执行,而不需要记住复杂的命令行语法。
  5. 可扩展性强
    • MySQL 支持集群和分布式数据库架构,能够满足大规模数据存储和高并发访问的需求。通过配置主从复制、分片等技术,可以实现数据库的高可用性和负载均衡。例如,在一个大型互联网应用中,可以使用主从复制架构,将主数据库用于数据的写入操作,从数据库用于读取操作,从而提高系统的读取性能。
  6. 安全性高
    • MySQL 提供了多种安全机制,如用户权限管理、数据加密、SSL/TLS 支持等。用户可以根据需要为不同的用户分配不同的权限,限制用户对数据库的操作范围。例如,可以为普通用户只授予查询权限,而将数据修改和删除权限授予管理员用户。同时,通过数据加密和 SSL/TLS 加密通信,可以保护数据在存储和传输过程中的安全。

1.3 MySQL 的应用领域

  1. 网站开发
    • MySQL 是 Web 开发中常用的数据库之一。它与 PHP、Python、Java 等编程语言配合良好,能够快速实现动态网站的功能。例如,在一个新闻网站中,MySQL 可以存储新闻文章、用户评论、用户信息等数据,通过 SQL 查询语句,网站可以动态地展示新闻内容和用户评论。
  2. 企业级应用
    • 许多企业使用 MySQL 来存储和管理业务数据。例如,在一个企业的客户关系管理系统(CRM)中,MySQL 可以存储客户信息、销售记录、订单详情等数据。通过 MySQL 的事务处理功能,可以确保业务数据的完整性和一致性。
  3. 大数据分析
    • 虽然 MySQL 本身不是专门的大数据分析工具,但它可以作为数据仓库的一部分,存储和管理结构化数据。通过与其他数据分析工具(如 Apache Hive、Spark 等)结合,可以对存储在 MySQL 中的数据进行分析和挖掘,为企业决策提供支持。
  4. 移动应用后端
    • 在移动应用开发中,MySQL 可以作为后端数据库,存储用户数据、应用配置信息等。移动应用通过网络请求与 MySQL 数据库进行交互,获取数据并展示给用户。例如,在一个社交类移动应用中,MySQL 可以存储用户的好友关系、消息记录等数据。

1.4 MySQL 的存储引擎

MySQL 支持多种存储引擎,每种存储引擎都有其特点和适用场景。以下是一些常见的存储引擎:

  1. InnoDB
    • 这是 MySQL 的默认存储引擎。它支持事务处理、行级锁定和外键约束。InnoDB 的事务特性可以保证数据操作的原子性、一致性、隔离性和持久性(ACID)。例如,在一个银行系统的转账操作中,InnoDB 存储引擎可以确保转账操作要么完全成功,要么完全失败,不会出现数据不一致的情况。
  2. MyISAM
    • MyISAM 是 MySQL 早期的默认存储引擎,它支持全文索引,适合用于文本搜索等场景。不过,MyISAM 不支持事务处理和行级锁定,而是采用表级锁定。这意味着在并发操作时,可能会出现性能瓶颈。例如,在一个高并发的电商网站中,如果使用 MyISAM 存储引擎,可能会导致多个用户同时下单时出现数据冲突或性能下降的情况。
  3. Memory
    • Memory 存储引擎将数据存储在内存中,因此读取速度非常快。但是,Memory 存储引擎的数据在数据库重启后会丢失,因此它适合用于临时数据存储和快速查询的场景。例如,在一个需要快速统计用户访问次数的应用中,可以使用 Memory 存储引擎存储临时的访问数据,然后定期将数据汇总到其他存储引擎中。

1.5 MySQL 的架构

MySQL 的架构可以分为多个层次,主要包括客户端层、服务端层和存储引擎层。

  1. 客户端层
    • 客户端层是用户与 MySQL 数据库交互的入口。用户可以通过命令行工具、图形化界面工具或编程语言中的数据库连接库(如 JDBC、ODBC 等)与 MySQL 数据库进行通信。客户端层的主要功能是将用户的 SQL 查询语句发送到服务端,并接收服务端返回的查询结果。
  2. 服务端层
    • 服务端层是 MySQL 的核心部分,它负责处理客户端的请求。服务端层主要包括连接池、查询解析器、查询优化器和缓存机制等组件。连接池用于管理客户端的连接,提高连接的复用性。查询解析器将客户端发送的 SQL 查询语句解析成内部的逻辑结构。查询优化器根据查询语句和数据库的统计信息,选择最优的查询执行计划。缓存机制可以缓存查询结果和数据页,提高查询性能。例如,当用户多次查询相同的数据时,缓存机制可以直接返回缓存中的结果,而不需要重新从磁盘读取数据。
  3. 存储引擎层
    • 存储引擎层负责数据的存储和检索。如前面提到的,MySQL 支持多种存储引擎,每种存储引擎都有自己的数据存储格式和访问机制。服务端层通过统一的接口与存储引擎层进行交互,将查询请求转发给存储引擎,并将存储引擎返回的结果返回给客户端。

1.6 MySQL 的优势和局限性

  1. 优势

    • 性能卓越:MySQL 在处理高并发和大数据量时表现出色,尤其在 Web 应用和互联网领域,能够快速响应用户的请求。
    • 成本低:开源免费的特性使得 MySQL 的使用成本较低,适合中小型企业或个人开发者。
    • 社区支持强大:由于 MySQL 的开源性和广泛的使用,拥有庞大的开发者社区。用户可以在社区中找到大量的技术文档、教程和解决方案。
    • 易于学习和部署:MySQL 的语法简单,易于上手。同时,它提供了多种安装方式和配置选项,方便用户根据自己的需求进行部署。
  2. 局限性

    • 功能相对有限:与一些商业数据库(如 Oracle、SQL Server)相比,MySQL 在某些高级功能(如复杂的数据分析、高级的存储过程等)上可能稍显不足。

    • 数据一致性问题:在高并发场景下,如果配置不当,可能会出现数据一致性问题。例如,如果使用了不支持事务的存储引擎(如 MyISAM),可能会导致数据丢失或不一致的情况。

    • 可维护性问题:随着数据库规模的增大,MySQL 的维护成本可能会增加。例如,数据库的备份、恢复、性能优化等操作需要专业的知识和经验。

1.7 MySQL 的未来发展趋势

  1. 性能优化
    • MySQL 开发团队会不断优化数据库的性能,特别是在高并发和大数据量处理方面。例如,通过改进存储引擎的算法、优化查询优化器的逻辑等方式,进一步提高 MySQL 的性能。
  2. 与云计算的融合
    • 随着云计算技术的发展,MySQL 会更加紧密地与云计算平台结合。云数据库(如 Amazon RDS for MySQL、阿里云 MySQL 等)提供了自动备份、弹性扩展、高可用性等特性。

2.MySQL安装

2.1 主机初始化

2.1.1 设置网卡名

  • Rocky Linux 9/10、Almalinux 9/10、CentOS Stream 9/10、AnolisOS 23、OpenCloudOS 9:

    • 创建 systemd 链接文件: 创建 /etc/systemd/network/70-eth0.link 文件。

      [root@rocky10 ~]# mkdir -p /etc/systemd/network/
      [root@rocky10 ~]# touch /etc/systemd/network/70-eth0.link[root@rocky10 ~]# ip addr
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever
      2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:02:55:30 brd ff:ff:ff:ff:ff:ffaltname enp3s0altname enx000c29025530inet 10.0.15.1/20 brd 10.0.15.255 scope global dynamic noprefixroute ens160valid_lft 1788sec preferred_lft 1788secinet6 fe80::20c:29ff:fe02:5530/64 scope link noprefixroute valid_lft forever preferred_lft forever[root@rocky10 ~]# cat > /etc/systemd/network/70-eth0.link << EOF
      [Match]
      MACAddress=00:0c:29:02:55:30[Link]
      Name=eth0
      EOF# 也可以执行下面命令
      ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'`
      ETHMAC=`ip addr show ${ETHNANME} | awk -F' ' '/ether/{print $2}'`
      mkdir /etc/systemd/network/
      touch /etc/systemd/network/70-eth0.link
      cat > /etc/systemd/network/70-eth0.link << EOF
      [Match]
      MACAddress=${ETHMAC}[Link]
      Name=eth0
      EOF
      
    • 修改 NetworkManager 配置文件: 如果使用 NetworkManager 管理网络,需要修改 /etc/NetworkManager/system-connections 下的配置文件。

      [root@rocky10 ~]# mv /etc/NetworkManager/system-connections/ens160.nmconnection /etc/NetworkManager/system-connections/eth0.nmconnection[root@rocky10 ~]# sed -i.bak 's/'ens160'/eth0/' /etc/NetworkManager/system-connections/eth0.nmconnection# 也可以执行下面命令
      mv /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection /etc/NetworkManager/system-connections/eth0.nmconnection
      sed -i.bak 's/'${ETHNAME}'/eth0/' /etc/NetworkManager/system-connections/eth0.nmconnection
      
  • Rocky Linux 8、Almalinux 8、CentOS 7、CentOS Stream 8、openEuler 22.03和24.03 LTS、AnolisOS 8、OpenCloudOS 8、Kylin Server v10/v11、UOS Server v20:

    • 修改 GRUB 配置文件: 打开 /etc/default/grub 文件,添加以下内容到 GRUB_CMDLINE_LINUX

      net.ifnames=0 biosdevname=0
      

      执行以下命令:

      sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub
      

      然后更新 GRUB 配置:

      grub2-mkconfig -o /boot/grub2/grub.cfg
      

      如果是 UEFI 引导系统,更新命令为:

      # Rocky
      grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg# Almalinux
      grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg# CentOS
      grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg# openEuler
      grub2-mkconfig -o /boot/efi/EFI/openEuler/grub.cfg# AnolisOS
      grub2-mkconfig -o /boot/efi/EFI/anolis/grub.cfg# OpenCloudOS
      grub2-mkconfig -o /boot/efi/EFI/opencloudos/grub.cfg# Kylin Server
      grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg# UOS Server
      grub2-mkconfig -o /boot/efi/EFI/uos/grub.cfg# UEFI 引导系统可以直接执行下面命令:
      EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'`
      grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg
      
    • 创建 Udev 规则文件: 创建 /etc/udev/rules.d/10-network.rules 文件,并添加以下内容:

      SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="<网卡MAC地址>", NAME="eth0"
      

      **注意:**创建Udev这个步骤只在AnolisOS 8上执行。

      <网卡MAC地址> 替换为实际网卡的 MAC 地址。

      [root@anolisos8 ~]# ip addr
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
      2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:47:02:3f brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 10.0.15.21/20 brd 10.0.15.255 scope global dynamic noprefixroute ens33valid_lft 1788sec preferred_lft 1788secinet6 fe80::20c:29ff:fe47:23f/64 scope link noprefixroute valid_lft forever preferred_lft forever[root@anolis8 ~]# cat >> /etc/udev/rules.d/10-network.rules << EOF
      SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0c:29:47:02:3f", NAME="eth0"
      EOF# 也可以执行下面命令
      ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'`
      ETHMAC=`ip addr show ${ETHNANME} | awk -F' ' '/ether/{print $2}'`
      cat >> /etc/udev/rules.d/10-network.rules << EOF
      SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="${ETHMAC}", NAME="eth0"
      EOF
      
    • 修改网卡配置文件: 创建 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,并配置网卡参数,例如:

      ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'`
      mv /etc/sysconfig/network-scripts/ifcfg-${ETHNAME} /etc/sysconfig/network-scripts/ifcfg-eth0
      sed -i.bak 's/'${ETHNAME}'/eth0/' /etc/sysconfig/network-scripts/ifcfg-eth0
      
  • Ubuntu和Debian:

    # Ubuntu和Debian先启用root用户,并设置密码
    raymond@ubuntu2404:~$ cat set_root_login.sh 
    #!/bin/bashread -p "请输入密码: " PASSWORD
    echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config
    sudo systemctl restart sshd
    sudo -S passwd root <<-EOF
    ${PASSWORD}
    ${PASSWORD}
    EOFraymond@ubuntu2404:~$ bash set_root_login.sh 
    请输入密码: 123456
    [sudo] password for raymond: New password: Retype new password: passwd: password updated successfully
    
    • 修改 GRUB 配置文件: 打开 /etc/default/grub 文件,添加以下内容到 GRUB_CMDLINE_LINUX

      net.ifnames=0 biosdevname=0
      

      执行以下命令:

      sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@net.ifnames=0 biosdevname=0"@' /etc/default/grub
      

      然后更新 GRUB 配置:

      grub-mkconfig -o /boot/grub/grub.cfg
      

      如果是 UEFI 引导系统,更新命令为:

      # Ubuntu
      grub-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg# Debian
      grub-mkconfig -o /boot/efi/EFI/debian/grub.cfg# UEFI 引导系统可以直接执行下面命令:
      EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'`
      grub-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg
      
    • 修改网卡配置文件

      # Ubuntu Server 24.04 LTS
      ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'`
      sed -i.bak 's/'${ETHNAME}'/eth0/' /etc/netplan/50-cloud-init.yaml# Ubuntu Server 22.04  LTS
      ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'`
      touch /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
      cat > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg <<-EOF
      network: {config: disabled}
      EOF
      sed -i.bak 's/'${ETHNAME}'/eth0/' /etc/netplan/50-cloud-init.yaml# Ubuntu Server 20.04 LTS
      ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'`
      sed -i.bak 's/'${ETHNAME}'/eth0/' /etc/netplan/00-installer-config.yaml# Ubuntu Server 18.04 LTS
      ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'`
      sed -i.bak 's/'${ETHNAME}'/eth0/' /etc/netplan/01-netcfg.yaml# Debian
      ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'`
      sed -i.bak 's/'${ETHNAME}'/eth0/' /etc/network/interfaces
      
  • 重启系统

    reboot
    

    重启后,网卡名称将变为 eth0

2.1.2 设置ip地址

ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'`# IP变量是ip地址,PREFIX变量是子网掩码位数;GATEWAY变量是网关地址;PRIMARY_DNS变量是主DNS,BACKUP_DNS变量是备用DNS,根据自己的需求修改。
IP=10.0.0.10
PREFIX=20
GATEWAY=10.0.0.2
PRIMARY_DNS=223.5.5.5
BACKUP_DNS=180.76.76.76

Rocky Linux 9/10、Almalinux 9/10、CentOS Stream 9/10、AnolisOS 23、OpenCloudOS 9:

cat > /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection <<-EOF
[connection]
id=${ETHNAME}
type=ethernet
interface-name=${ETHNAME}[ipv4]
address1=${IP}/${PREFIX},${GATEWAY}
dns=${PRIMARY_DNS};${BACKUP_DNS};
method=manual
EOF

Rocky Linux 8、Almalinux 8、CentOS 7、CentOS Stream 8、openEuler 22.03和24.03 LTS、AnolisOS 8、OpenCloudOS 8、Kylin Server v10/v11、UOS Server v20:

cat > /etc/sysconfig/network-scripts/ifcfg-${ETHNAME} <<-EOF
NAME=${ETHNAME}
DEVICE=${ETHNAME}
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
IPADDR=${IP}
PREFIX=${PREFIX}
GATEWAY=${GATEWAY}
DNS1=${PRIMARY_DNS}
DNS2=${BACKUP_DNS}
EOF

Ubuntu:

# Ubuntu Server 18.04 LTS
cat > /etc/netplan/01-netcfg.yaml <<-EOF
network:version: 2renderer: networkdethernets:${ETHNAME}:dhcp4: nodhcp6: noaddresses: [${IP}/${PREFIX}] gateway4: ${GATEWAY}nameservers:addresses: [${PRIMARY_DNS}, ${BACKUP_DNS}]# Ubuntu Server 20.04 LTS
cat > /etc/netplan/00-installer-config.yaml <<-EOF
network:version: 2renderer: networkdethernets:${ETHNAME}:dhcp4: nodhcp6: noaddresses: [${IP}/${PREFIX}] gateway4: ${GATEWAY}nameservers:addresses: [${PRIMARY_DNS}, ${BACKUP_DNS}]
EOF# Ubuntu Server 22.04/24.04 LTS
cat > /etc/netplan/50-cloud-init.yaml <<-EOF
network:version: 2renderer: networkdethernets:${ETHNAME}:dhcp4: nodhcp6: noaddresses: [${IP}/${PREFIX}]routes:- to: defaultvia: ${GATEWAY}nameservers:addresses: [${PRIMARY_DNS}, ${BACKUP_DNS}]
EOF

Debian:

sed -ri -e "s/allow-hotplug/auto/g" -e "s/dhcp/static/g" /etc/network/interfaces
sed -i '/static/a\address '${IP}'/'${PREFIX}'\ngateway '${GATEWAY}'\ndns-nameservers '${PRIMARY_DNS}' '${BACKUP_DNS}'\n' /etc/network/interfaces

openSUSE:

cat > /etc/sysconfig/network/ifcfg-${ETHNAME} <<-EOF
STARTMODE='auto'
BOOTPROTO='static'
IPADDR='${IP}/${PREFIX}'
EOF
touch /etc/sysconfig/network/routes
cat > /etc/sysconfig/network/routes  <<-EOF
default ${GATEWAY} - -
EOF
sed -ri  's/(NETCONFIG_DNS_STATIC_SERVERS=).*/\1"'${PRIMARY_DNS}' '${BACKUP_DNS}'"/g' /etc/sysconfig/network/config

2.1.3 配置镜像源

Rocky:

# 阿里云镜像站Rocky系统镜像源地址是:mirrors.aliyun.com/rockylinux,火山引擎镜像站Rocky系统镜像源地址是:mirrors.volces.com/rockylinux,后面地址是rockylinux,使用下面命令执行
MIRROR=mirrors.aliyun.com
sed -i.bak -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://'${MIRROR}'/rockylinux|g' /etc/yum.repos.d/[Rr]ocky*.repo# 搜狐镜像站Rocky系统镜像源地址是:mirrors.sohu.com/Rocky,后面地址是Rocky,使用下面命令执行
MIRROR=mirrors.sohu.com
sed -i.bak -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://'${OLD_MIRROR}'/$contentdir|baseurl=https://'${MIRROR}'/Rocky|g' /etc/yum.repos.d/[Rr]ocky*.repo# 其余镜像站Rocky系统镜像源地址后面地址都是rocky,使用下面命令执行
MIRROR=mirrors.tencent.com
sed -i.bak -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://'${MIRROR}'/rocky|g' /etc/yum.repos.d/[Rr]ocky*.repodnf clean all && dnf makecache

Almalinux:

MIRROR=mirrors.tencent.com
OLD_MIRROR=$(sed -rn '/^.*baseurl=/s@.*=http.*://(.*)/(.*)/\$releasever/.*/$@\1@p' /etc/yum.repos.d/almalinux*.repo | head -1)
sed -i.bak -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^# baseurl=https://'${OLD_MIRROR}'|baseurl=https://'${MIRROR}'|g' /etc/yum.repos.d/almalinux*.repo

CentOS Stream 9和10:

cat update_mirror.pl
#!/usr/bin/perluse strict;
use warnings;
use autodie;# 要修改镜像源,请去修改url变量!
my $url = 'mirrors.aliyun.com';
my $mirrors = "https://$url/centos-stream";if (@ARGV < 1) {die "Usage: $0 <filename1> <filename2> ...\n";
}while (my $filename = shift @ARGV) {my $backup_filename = $filename . '.bak';rename $filename, $backup_filename;open my $input, "<", $backup_filename;open my $output, ">", $filename;while (<$input>) {s/^metalink/# metalink/;if (m/^name/) {my (undef, $repo, $arch) = split /-/;$repo =~ s/^\s+|\s+$//g;($arch = defined $arch ? lc($arch) : '') =~ s/^\s+|\s+$//g;if ($repo =~ /^Extras/) {$_ .= "baseurl=${mirrors}/SIGs/\$releasever-stream/extras" . ($arch eq 'source' ? "/${arch}/" : "/\$basearch/") . "extras-common\n";} else {$_ .= "baseurl=${mirrors}/\$releasever-stream/$repo" . ($arch eq 'source' ? "/" : "/\$basearch/") . ($arch ne '' ? "${arch}/tree/" : "os") . "\n";}}print $output $_;}
}rpm -q perl &> /dev/null || { echo -e "\\033[01;31m "安装perl工具,请稍等..."\033[0m";yum -y install perl ; }perl ./update_mirror.pl /etc/yum.repos.d/centos*.repodnf clean all && dnf makecache

CentOS Stream 8:

MIRROR=mirrors.aliyun.com
sed -i.bak -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://mirror.centos.org/$contentdir|baseurl=https://'${MIRROR}'/centos-vault|g' /etc/yum.repos.d/CentOS-*.repodnf clean all && dnf makecache

CentOS 7:

MIRROR=mirrors.aliyun.com
OS_RELEASE_FULL_VERSION=`cat /etc/centos-release | sed -rn 's/^(CentOS Linux release )(.*)( \(Core\))/\2/p'`
sed -i.bak -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://'${MIRROR}'/centos-vault|g' -e "s/\$releasever/${OS_RELEASE_FULL_VERSION}/g" /etc/yum.repos.d/CentOS-*.repoyum clean all && yum makecache

Ubuntu Server 24.04 LTS:

MIRROR=mirrors.aliyun.com
sed -ri "s@^(URIs: )(http.*://)(.*)(/ubuntu).?@\1https://${MIRROR}\4@g" /etc/apt/sources.list.d/ubuntu.sourcesapt update

Ubuntu Server 18.04/20.04/22.04 LTS:

MIRROR=mirrors.aliyun.com
OLD_MIRROR=`sed -rn "s@^deb http(.*)://(.*)/ubuntu/? $(lsb_release -cs) main.*@\2@p" /etc/apt/sources.list`
SECURITY_MIRROR=`sed -rn "s@^deb http(.*)://(.*)/ubuntu.* $(lsb_release -cs)-security main.*@\2@p" /etc/apt/sources.list`
sed -i.bak -e 's@http.*://'${OLD_MIRROR}'@https://'${MIRROR}'@g' -e 's@http.*://'${SECURITY_MIRROR}'@https://'${MIRROR}'@g' /etc/apt/sources.listapt update

Debian:

MIRROR=mirrors.aliyun.com
OLD_MIRROR=`sed -rn "s@^deb http(.*)://(.*)/debian/? $(lsb_release -cs) main.*@\2@p" /etc/apt/sources.list`
SECURITY_MIRROR=`sed -rn "s@^deb http(.*)://(.*)/debian-security $(lsb_release -cs)-security main.*@\2@p" /etc/apt/sources.list`
sed -ri.bak -e 's/'${OLD_MIRROR}'/'${MIRROR}'/g' -e 's/'${SECURITY_MIRROR}'/'${MIRROR}'/g' -e 's/^(deb cdrom.*)/#\1/g' /etc/apt/sources.listapt update

openEuler:

MIRROR=mirrors.aliyun.com
OLD_MIRROR=$(awk -F'/' '/^baseurl=/{print $3}' /etc/yum.repos.d/openEuler.repo | head -1)
sed -i.bak -e 's|^metalink=|#metalink=|g' -e 's|http.*://'${OLD_MIRROR}'|https://'${MIRROR}'/openeuler|g' /etc/yum.repos.d/openEuler.repodnf clean all && dnf makecache

AnolisOS:

OLD_MIRROR=$(sed -rn '/^.*baseurl=/s@.*=http.*://(.*)/(.*)/\$releasever/.*/$@\1@p' /etc/yum.repos.d/AnolisOS*.repo | head -1)# 中国科学院软件研究所镜像站AnolisOS系统镜像源地址是:mirror.iscas.ac.cn/openanolis,后面地址是openanolis,使用下面命令执行
MIRROR=mirror.iscas.ac.cn
sed -i.bak -e 's|http.*://'${OLD_MIRROR}'/anolis|https://'${MIRROR}'/openanolis|g' /etc/yum.repos.d/AnolisOS*.repo# 其余镜像站AnolisOS系统镜像源地址后面地址都是anolis,使用下面命令执行
MIRROR=mirrors.aliyun.com
sed -i.bak -e 's|http.*://'${OLD_MIRROR}'/anolis|https://'${MIRROR}'/anolis|g' /etc/yum.repos.d/AnolisOS*.repodnf clean all && dnf makecache

OpenCloudOS:

MIRROR=mirrors.tencent.com
OLD_MIRROR=$(awk -F'/' '/^baseurl=/{print $3}' /etc/yum.repos.d/OpenCloudOS*.repo | head -1)
sed -i.bak -e 's|http.*://'${OLD_MIRROR}'|https://'${MIRROR}'|g' /etc/yum.repos.d/OpenCloudOS*.repodnf clean all && dnf makecache

openSUSE:

MIRROR=mirrors.aliyun.com
OLD_MIRROR=$(awk -F'/' '/^baseurl=/{print $3}' /etc/zypp/repos.d/repo-*.repo | head -1)
sed -i.bak 's|http.*://'${OLD_MIRROR}'|https://'${MIRROR}'/opensuse|g' /etc/zypp/repos.d/repo-*.repozypper clean && zypper refresh

2.1.4 关闭防火墙

# Rocky、Almalinux、CentOS、openEuler、AnolisOS、OpenCloudOS、openSUSE、Kylin Server、UOS Server
systemctl disable --now firewalld# CentOS 7还要执行下面命令
systemctl disable --now NetworkManager# Ubuntu
systemctl disable --now ufw# Debian默认没有安装防火墙,不用设置

2.1.5 禁用SELinux

# Rocky、Almalinux、CentOS、openEuler、AnolisOS、OpenCloudOS、Kylin Server、UOS Server
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config# Ubuntu、Debian和openSUSE默认没有安装SELinux,不用设置

2.1.6 禁用AppArmor

# openSUSE发行版默认不启用SELinux,而是使用AppArmor来提供强制访问控制(MAC)功能,需要禁用AppArmor。
systemctl disable --now apparmor

2.1.7 设置时区

timedatectl set-timezone Asia/Shanghai
echo 'Asia/Shanghai' >/etc/timezone# Ubuntu还要设置下面内容
cat >> /etc/default/locale <<-EOF
LC_TIME=en_DK.UTF-8
EOF

2.2 包安装

2.2.1 RHEL系列

2.2.1.1 Yum资源库安装MySQL
2.2.1.1.1 MySQL 8.0

在“Rocky 8/9、AlmaLinux 8/9、CentOS Stream 8/9、openEuler 22.03/24.03 LTS、AnolisOS 8/23、OpenCloudOS 8/9、Kylin Server v10、UOS Server v20”上安装MySQL:

[root@rocky9 ~]# yum list mysql-server --showduplicates
Last metadata expiration check: 0:01:17 ago on Wed 01 Oct 2025 12:47:45 PM CST.
Available Packages
mysql-server.x86_64                                   8.0.43-1.el9_6                                    appstream[root@rocky9 ~]# yum install -y mysql-server[root@rocky9 ~]# systemctl enable --now mysqld
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.[root@rocky9 ~]# ls /var/lib/mysqlauto.cnf        client-cert.pem      ibdata1         mysql.ibd            mysqlx.sock.lock     server-key.pembinlog.000001   client-key.pem       ibtmp1          mysql.sock           performance_schema   sysbinlog.index   '#ib_16384_0.dblwr'  '#innodb_redo'   mysql.sock.lock      private_key.pem      undo_001ca-key.pem     '#ib_16384_1.dblwr'  '#innodb_temp'   mysql_upgrade_info   public_key.pem       undo_002ca.pem          ib_buffer_pool       mysql           mysqlx.sock          server-cert.pem[root@rocky9 ~]# mysql -V
mysql  Ver 8.0.43 for Linux on x86_64 (Source distribution)[root@rocky9 ~]# systemctl status mysqld
● mysqld.service - MySQL 8.0 database serverLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)Active: active (running) since Wed 2025-10-01 12:51:26 CST; 16s agoProcess: 10501 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)Process: 10597 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)Main PID: 13220 (mysqld)Status: "Server is operational"Tasks: 38 (limit: 10844)Memory: 457.0MCPU: 3.318sCGroup: /system.slice/mysqld.service└─13220 /usr/libexec/mysqld --basedir=/usrOct 01 12:51:20 rocky9 systemd[1]: Starting MySQL 8.0 database server...
Oct 01 12:51:20 rocky9 mysql-prepare-db-dir[10597]: Initializing MySQL database
Oct 01 12:51:26 rocky9 systemd[1]: Started MySQL 8.0 database server.[root@rocky9 ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.43 Source distributionCopyright (c) 2000, 2025, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> status
--------------
mysql  Ver 8.0.43 for Linux on x86_64 (Source distribution)Connection id:		8
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.0.43 Source distribution
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Binary data as:		Hexadecimal
Uptime:			1 min 21 secThreads: 2  Questions: 5  Slow queries: 0  Opens: 120  Flush tables: 3  Open tables: 36  Queries per second avg: 0.061
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)mysql> exit
Bye

在“Kylin Server V11”上安装MySQL:

# Kylin Server V11上镜像源默认没有mysql的安装包,需要添加镜像源
[root@kylin11 ~]# cat > /etc/yum.repos.d/mysql-community.repo <<EOF
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=https://mirrors.nju.edu.cn/mysql/yum/mysql-8.0-community/el/9/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.nju.edu.cn/mysql/RPM-GPG-KEY-mysql-2023
EOF[root@kylin11 ~]# yum makecache[root@kylin11 ~]# yum list mysql-community-server --showduplicates
Repository 'mysql' is missing name in configuration, using id.
Last metadata expiration check: 0:00:52 ago on Tue 30 Sep 2025 02:18:00 PM CST.
Available Packages
mysql-community-server.x86_64                                 8.0.30-1.el9                                  mysql
mysql-community-server.x86_64                                 8.0.31-1.el9                                  mysql
mysql-community-server.x86_64                                 8.0.32-1.el9                                  mysql
mysql-community-server.x86_64                                 8.0.33-1.el9                                  mysql
mysql-community-server.x86_64                                 8.0.34-1.el9                                  mysql
mysql-community-server.x86_64                                 8.0.35-1.el9                                  mysql
mysql-community-server.x86_64                                 8.0.36-1.el9                                  mysql
mysql-community-server.x86_64                                 8.0.37-1.el9                                  mysql
mysql-community-server.x86_64                                 8.0.39-1.el9                                  mysql
mysql-community-server.x86_64                                 8.0.40-1.el9                                  mysql
mysql-community-server.x86_64                                 8.0.41-1.el9                                  mysql
mysql-community-server.x86_64                                 8.0.42-1.el9                                  mysql
mysql-community-server.x86_64                                 8.0.43-1.el9                                  mysql[root@kylin11 ~]# yum -y install mysql-community-server[root@kylin11 ~]# systemctl enable --now mysqld[root@kylin11 ~]# ls /var/lib/mysqlauto.cnf        client-cert.pem      ibdata1         mysql.ibd            public_key.pem    undo_002binlog.000001   client-key.pem       ibtmp1          mysql.sock           server-cert.pembinlog.index   '#ib_16384_0.dblwr'  '#innodb_redo'   mysql.sock.lock      server-key.pemca-key.pem     '#ib_16384_1.dblwr'  '#innodb_temp'   performance_schema   sysca.pem          ib_buffer_pool       mysql           private_key.pem      undo_001[root@kylin11 ~]# mysql -V
mysql  Ver 8.0.43 for Linux on x86_64 (MySQL Community Server - GPL)[root@kylin11 ~]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)Active: active (running) since Tue 2025-09-30 14:21:54 CST; 33s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 3256 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 3324 (mysqld)Status: "Server is operational"Tasks: 38 (limit: 8626)Memory: 410.0M ()CGroup: /system.slice/mysqld.service└─3324 /usr/sbin/mysqldSep 30 14:21:50 kylin11 systemd[1]: Starting MySQL Server...
Sep 30 14:21:54 kylin11 (mysqld)[3324]: mysqld.service: Referenced but unset environment variable evaluates to a>
Sep 30 14:21:54 kylin11 systemd[1]: Started MySQL Server.# 获取MySQL初始密码
[root@kylin11 ~]# grep password /var/log/mysqld.log
2025-09-30T06:21:51.863671Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ncBFwl5LrR.Y
# "ncBFwl5LrR.Y"就是MySQL的初始密码# 修改mysql密码
[root@kylin11 ~]# mysqladmin -uroot -p'ncBFwl5LrR.Y' password 123456
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
mysqladmin: unable to change password; error: 'Your password does not satisfy the current policy requirements'
# 上面报错提示密码太简单[root@kylin11 ~]# mysqladmin -uroot -p'ncBFwl5LrR.Y' password Raymond@2025
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.[root@kylin11 ~]# mysql -uroot -p'Raymond@2025'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.43 MySQL Community Server - GPLCopyright (c) 2000, 2025, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> status
--------------
mysql  Ver 8.0.43 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:		10
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.0.43 MySQL Community Server - GPL
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Binary data as:		Hexadecimal
Uptime:			2 min 22 secThreads: 2  Questions: 11  Slow queries: 0  Opens: 140  Flush tables: 3  Open tables: 56  Queries per second avg: 0.077
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)mysql> exit
Bye

在“CentOS 7”上安装MySQL:

# centos7上镜像源默认没有mysql的安装包,需要添加镜像源
[root@centos7 ~]# cat > /etc/yum.repos.d/mysql-community.repo <<EOF
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=https://mirrors.nju.edu.cn/mysql/yum/mysql-8.0-community/el/7/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.nju.edu.cn/mysql/RPM-GPG-KEY-mysql-2023
EOF[root@centos7 ~]# yum makecache[root@centos7 ~]# yum list mysql-community-server --showduplicates
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Available Packages
mysql-community-server.x86_64                           8.0.11-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.12-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.13-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.14-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.15-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.16-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.16-2.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.17-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.18-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.19-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.20-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.21-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.22-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.23-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.24-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.25-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.26-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.27-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.28-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.30-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.31-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.32-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.33-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.34-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.35-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.36-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.37-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.39-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.40-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.41-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.42-1.el7                            mysql80-community
mysql-community-server.x86_64                           8.0.43-1.el7                            mysql80-community[root@centos7 ~]# yum -y install mysql-community-server[root@centos7 ~]# systemctl enable --now mysqld[root@centos7 ~]# ls /var/lib/mysql
auto.cnf       ca.pem             #ib_16384_1.dblwr  #innodb_redo  mysql.sock          public_key.pem   undo_001
binlog.000001  client-cert.pem    ib_buffer_pool     #innodb_temp  mysql.sock.lock     server-cert.pem  undo_002
binlog.index   client-key.pem     ibdata1            mysql         performance_schema  server-key.pem
ca-key.pem     #ib_16384_0.dblwr  ibtmp1             mysql.ibd     private_key.pem     sys[root@centos7 ~]# mysql -V
mysql  Ver 8.0.43 for Linux on x86_64 (MySQL Community Server - GPL)[root@centos7 ~]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2025-10-01 21:00:20 CST; 57s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 1144 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 1210 (mysqld)Status: "Server is operational"CGroup: /system.slice/mysqld.service└─1210 /usr/sbin/mysqldOct 01 21:00:15 centos7 systemd[1]: Starting MySQL Server...
Oct 01 21:00:20 centos7 systemd[1]: Started MySQL Server.# 获取mysql初始密码
[root@centos7 ~]# grep password /var/log/mysqld.log
2025-10-01T13:00:17.714875Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: sq>;B<_Gj0B+
# "sq>;B<_Gj0B+"就是MySQL的初始密码# 修改mysql密码
[root@centos7 ~]# mysqladmin -uroot -p'sq>;B<_Gj0B+' password 123456
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
mysqladmin: unable to change password; error: 'Your password does not satisfy the current policy requirements'[root@centos7 ~]# mysqladmin -uroot -p'sq>;B<_Gj0B+' password Raymond@2025
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.[root@centos7 ~]# mysql -uroot -p'Raymond@2025'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.43 MySQL Community Server - GPLCopyright (c) 2000, 2025, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> status
--------------
mysql  Ver 8.0.43 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:		9
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.0.43 MySQL Community Server - GPL
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Binary data as:		Hexadecimal
Uptime:			2 min 2 secThreads: 2  Questions: 8  Slow queries: 0  Opens: 130  Flush tables: 3  Open tables: 46  Queries per second avg: 0.065
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql> exit
Bye
2.2.1.1.2 MySQL 8.4

在“Rocky 10、AlmaLinux 10和CentOS Stream 10”上安装MySQL:

[root@rocky10 ~]# yum list mysql*-server --showduplicates
Last metadata expiration check: 0:05:14 ago on Wed 01 Oct 2025 01:34:43 PM CST.
Available Packages
mysql8.4-server.x86_64                                  8.4.4-2.el10                                    appstream
mysql8.4-server.x86_64                                  8.4.6-2.el10_0                                  appstream[root@rocky10 ~]# yum install -y mysql8.4-server[root@rocky10 ~]# systemctl enable --now mysqld[root@rocky10 ~]# ls /var/lib/mysqlauto.cnf          client-key.pem      '#innodb_redo'     mysql_upgrade_history   public_key.pembinlog.000001    '#ib_16384_0.dblwr'  '#innodb_temp'     mysql_upgrade_info      server-cert.pembinlog.index     '#ib_16384_1.dblwr'   mysql             mysqlx.sock             server-key.pemca-key.pem        ib_buffer_pool       mysql.ibd         mysqlx.sock.lock        sysca.pem            ibdata1              mysql.sock        performance_schema      undo_001client-cert.pem   ibtmp1               mysql.sock.lock   private_key.pem         undo_002[root@rocky10 ~]# mysql -V
mysql  Ver 8.4.6 for Linux on x86_64 (Source distribution)[root@rocky10 ~]# systemctl status mysqld
● mysqld.service - MySQL 8.4 database serverLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)Active: active (running) since Wed 2025-10-01 13:41:42 CST; 28s agoInvocation: f51300fb7d2d42faa53388d3f65cd5dbProcess: 1584 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)Process: 1607 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)Main PID: 1679 (mysqld)Status: "Server is operational"Tasks: 35 (limit: 10481)Memory: 432M (peak: 446.4M)CPU: 3.055sCGroup: /system.slice/mysqld.service└─1679 /usr/libexec/mysqld --basedir=/usrOct 01 13:41:38 rocky10 systemd[1]: Starting mysqld.service - MySQL 8.4 database server...
Oct 01 13:41:38 rocky10 mysql-prepare-db-dir[1607]: Initializing MySQL database
Oct 01 13:41:42 rocky10 systemd[1]: Started mysqld.service - MySQL 8.4 database server.[root@rocky10 ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.4.6 Source distributionCopyright (c) 2000, 2025, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> status
--------------
mysql  Ver 8.4.6 for Linux on x86_64 (Source distribution)Connection id:		8
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.4.6 Source distribution
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Binary data as:		Hexadecimal
Uptime:			52 secThreads: 2  Questions: 6  Slow queries: 0  Opens: 120  Flush tables: 3  Open tables: 36  Queries per second avg: 0.115
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)mysql> exit
Bye

在"Rocky 8/9、AlmaLinux 8/9、CentOS Stream 8/9、openEuler 22.03/24.03 LTS、AnolisOS 8/23、OpenCloudOS 8/9、Kylin Server v10/v11、UOS Server v20"上安装MySQL:

去“https://www.mysql.com/”网站下载,选择“DOWNLOADS”,如图2所示。

t2

图2 下载Yum仓库包

选择“MySQL Community (GPL) Downloads”,如图3所示。

t3

图3 下载Yum仓库包

选择“MySQL Yum Repository(MySQL Yum资源库)”,如图4所示。

t4

图4 下载Yum仓库包

然后根据系统版本下载相应的安装包,如图5所示。

t5

图5 下载Yum仓库包

在“Rocky 9、AlmaLinux 9、CentOS Stream 9、openEuler 24.03 LTS、AnolisOS 23、OpenCloudOS 9、Kylin Server v11”上安装MySQL:

方法1:下载官方yum仓库安装包,并安装

# Rocky、Almalinux、CentOS、AnolisOS、OpenCloudOS、Kylin Server默认没有wget包,需要安装
yum install -y wget[root@rocky9 ~]# wget https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm[root@rocky9 ~]# rpm -ivh mysql84-community-release-el9-1.noarch.rpm# 替换国内镜像源
sed -i.bak 's|http://repo.mysql.com|https://mirrors.nju.edu.cn/mysql|g' /etc/yum.repos.d/mysql-community*.repo

方法2:添加镜像源

[root@rocky9 ~]# cat > /etc/yum.repos.d/mysql-community.repo <<EOF
[mysql-8.4-lts-community]
name=MySQL 8.4 LTS Community Server
baseurl=https://mirrors.nju.edu.cn/mysql/yum/mysql-8.4-community/el/9/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.nju.edu.cn/mysql/RPM-GPG-KEY-mysql-2023
EOF

继续安装MySQL:

[root@rocky9 ~]# yum makecache[root@rocky9 ~]# yum list mysql-community-server --showduplicates
Last metadata expiration check: 0:00:09 ago on Wed 01 Oct 2025 02:09:04 PM CST.
Available Packages
mysql-community-server.x86_64                         8.4.0-1.el9                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.2-1.el9                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.3-1.el9                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.4-1.el9                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.5-1.el9                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.6-1.el9                         mysql-8.4-lts-community[root@rocky9 ~]# yum install -y mysql-community-server[root@rocky9 ~]# systemctl enable --now mysqld[root@rocky9 ~]# ls /var/lib/mysqlauto.cnf        client-cert.pem      ibdata1         mysql.ibd               private_key.pem   undo_001binlog.000001   client-key.pem       ibtmp1          mysql.sock              public_key.pem    undo_002binlog.index   '#ib_16384_0.dblwr'  '#innodb_redo'   mysql.sock.lock         server-cert.pemca-key.pem     '#ib_16384_1.dblwr'  '#innodb_temp'   mysql_upgrade_history   server-key.pemca.pem          ib_buffer_pool       mysql           performance_schema      sys[root@rocky9 ~]# mysql -V
mysql  Ver 8.4.6 for Linux on x86_64 (MySQL Community Server - GPL)[root@rocky9 ~]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)Active: active (running) since Wed 2025-10-01 14:10:09 CST; 23s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 12982 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 13160 (mysqld)Status: "Server is operational"Tasks: 35 (limit: 10844)Memory: 434.4MCPU: 3.117sCGroup: /system.slice/mysqld.service└─13160 /usr/sbin/mysqldOct 01 14:10:04 rocky9 systemd[1]: Starting MySQL Server...
Oct 01 14:10:09 rocky9 systemd[1]: Started MySQL Server.# 获取MySQL初始密码
[root@rocky9 ~]# grep password /var/log/mysqld.log
2025-10-01T06:10:06.123825Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: %1i8Dj&l#dei
# "%1i8Dj&l#dei"就是MySQL的初始密码# 修改mysql密码
[root@rocky9 ~]# mysqladmin -uroot -p'%1i8Dj&l#dei' password 123456
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
mysqladmin: unable to change password; error: 'Your password does not satisfy the current policy requirements'
# 上面报错提示密码太简单[root@rocky9 ~]# mysqladmin -uroot -p'%1i8Dj&l#dei' password Raymond@2025
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.[root@rocky9 ~]# mysql -uroot -p'Raymond@2025'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.4.6 MySQL Community Server - GPLCopyright (c) 2000, 2025, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> status
--------------
mysql  Ver 8.4.6 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:		9
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.4.6 MySQL Community Server - GPL
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Binary data as:		Hexadecimal
Uptime:			1 min 23 secThreads: 2  Questions: 9  Slow queries: 0  Opens: 130  Flush tables: 3  Open tables: 46  Queries per second avg: 0.108
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)mysql> exit
Bye

在“Rocky 8、AlmaLinux 8、CentOS Stream 8、AnolisOS 8、OpenCloudOS 8”上安装MySQL:

方法1:下载官方yum仓库安装包,并安装

# Rocky、Almalinux、CentOS、AnolisOS、OpenCloudOS、Kylin Server默认没有wget包,需要安装
yum install -y wget[root@rocky8 ~]# wget https://dev.mysql.com/get/mysql84-community-release-el8-1.noarch.rpm[root@rocky8 ~]# rpm -ivh mysql84-community-release-el8-1.noarch.rpm# 替换国内镜像源
sed -i.bak 's|http://repo.mysql.com|https://mirrors.nju.edu.cn/mysql|g' /etc/yum.repos.d/mysql-community*.repo

方法2:添加镜像源

[root@rocky8 ~]# cat > /etc/yum.repos.d/mysql.repo <<EOF
[mysql-8.4-lts-community]
name=MySQL 8.4 LTS Community Server
baseurl=https://mirrors.nju.edu.cn/mysql/yum/mysql-8.4-community/el/8/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.nju.edu.cn/mysql/RPM-GPG-KEY-mysql-2023
EOF

继续安装MySQL:

[root@rocky8 ~]# yum makecache[root@rocky8 ~]# yum list mysql-community-server --showduplicates
Last metadata expiration check: 0:01:43 ago on Sat 12 Apr 2025 11:29:44 PM CST.
Error: No matching Packages to list
# 找不到安装包# 禁用默认的mysql模块
[root@rocky8 ~]# yum module -y disable mysql[root@rocky8 ~]# yum list mysql-community-server --showduplicates
Last metadata expiration check: 0:01:21 ago on Tue 30 Sep 2025 05:14:06 PM CST.
Available Packages
mysql-community-server.x86_64                         8.4.0-1.el8                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.2-1.el8                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.3-1.el8                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.4-1.el8                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.5-1.el8                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.6-1.el8                         mysql-8.4-lts-community[root@rocky8 ~]# yum install -y mysql-community-server[root@rocky8 ~]# systemctl enable --now mysqld[root@rocky8 ~]# ls /var/lib/mysqlauto.cnf        client-cert.pem      ibdata1         mysql.ibd               private_key.pem   undo_001binlog.000001   client-key.pem       ibtmp1          mysql.sock              public_key.pem    undo_002binlog.index   '#ib_16384_0.dblwr'  '#innodb_redo'   mysql.sock.lock         server-cert.pemca-key.pem     '#ib_16384_1.dblwr'  '#innodb_temp'   mysql_upgrade_history   server-key.pemca.pem          ib_buffer_pool       mysql           performance_schema      sys[root@rocky8 ~]# mysql -V
mysql  Ver 8.4.6 for Linux on x86_64 (MySQL Community Server - GPL)[root@rocky8 ~]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2025-09-30 17:16:45 CST; 30s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 11790 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 11856 (mysqld)Status: "Server is operational"Tasks: 35 (limit: 10941)Memory: 437.4MCGroup: /system.slice/mysqld.service└─11856 /usr/sbin/mysqldSep 30 17:16:40 rocky8 systemd[1]: Starting MySQL Server...
Sep 30 17:16:45 rocky8 systemd[1]: Started MySQL Server.# 获取MySQL初始密码
[root@rocky8 ~]# grep password /var/log/mysqld.log
2025-09-30T09:16:41.829874Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: )Faks7D=N>(e
# ")Faks7D=N>(e"就是MySQL的初始密码# 修改mysql密码
[root@rocky8 ~]# mysqladmin -uroot -p')Faks7D=N>(e' password 123456
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
mysqladmin: unable to change password; error: 'Your password does not satisfy the current policy requirements'
# 上面报错提示密码太简单[root@rocky8 ~]# mysqladmin -uroot -p')Faks7D=N>(e' password Raymond@2025
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.[root@rocky8 ~]# mysql -uroot -p'Raymond@2025'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.4.6 MySQL Community Server - GPLCopyright (c) 2000, 2025, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> status
--------------
mysql  Ver 8.4.6 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:		11
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.4.6 MySQL Community Server - GPL
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Binary data as:		Hexadecimal
Uptime:			2 min 8 secThreads: 2  Questions: 12  Slow queries: 0  Opens: 140  Flush tables: 3  Open tables: 56  Queries per second avg: 0.093
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql> exit
Bye

在“openEuler 22.03 LTS、Kylin Server v10、UOS Server v20”上安装MySQL:

方法1:下载官方yum仓库安装包,并安装

# Rocky、Almalinux、CentOS、AnolisOS、OpenCloudOS、Kylin Server默认没有wget包,需要安装
yum install -y wget[root@openeuler22 ~]# wget https://dev.mysql.com/get/mysql84-community-release-el8-1.noarch.rpm[root@openeuler22 ~]# rpm -ivh mysql84-community-release-el8-1.noarch.rpm# 替换国内镜像源
sed -i.bak 's|http://repo.mysql.com|https://mirrors.nju.edu.cn/mysql|g' /etc/yum.repos.d/mysql-community*.repo

方法2:添加镜像源

[root@openeuler22 ~]# cat > /etc/yum.repos.d/mysql.repo <<EOF
[mysql-8.4-lts-community]
name=MySQL 8.4 LTS Community Server
baseurl=https://mirrors.nju.edu.cn/mysql/yum/mysql-8.4-community/el/8/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.nju.edu.cn/mysql/RPM-GPG-KEY-mysql-2023
EOF

继续安装MySQL:

[root@openeuler22 ~]# yum makecache[root@openeuler22 ~]# yum list mysql-community-server --showduplicates
Last metadata expiration check: 0:01:49 ago on Wed 01 Oct 2025 02:17:26 PM CST.
Available Packages
mysql-community-server.x86_64                         8.4.0-1.el8                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.2-1.el8                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.3-1.el8                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.4-1.el8                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.5-1.el8                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.6-1.el8                         mysql-8.4-lts-community[root@openeuler22 ~]# yum install -y mysql-community-server[root@openeuler22 ~]# systemctl enable --now mysqld[root@openeuler22 ~]# ls /var/lib/mysqlauto.cnf        client-cert.pem      ibdata1         mysql.ibd               private_key.pem   undo_001binlog.000001   client-key.pem       ibtmp1          mysql.sock              public_key.pem    undo_002binlog.index   '#ib_16384_0.dblwr'  '#innodb_redo'   mysql.sock.lock         server-cert.pemca-key.pem     '#ib_16384_1.dblwr'  '#innodb_temp'   mysql_upgrade_history   server-key.pemca.pem          ib_buffer_pool       mysql           performance_schema      sys[root@openeuler22 ~]# mysql -V
mysql  Ver 8.4.6 for Linux on x86_64 (MySQL Community Server - GPL)[root@openeuler22 ~]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2025-10-01 14:20:27 CST; 1min 52s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 1746 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 1811 (mysqld)Status: "Server is operational"Tasks: 34 (limit: 8944)Memory: 436.7MCGroup: /system.slice/mysqld.service└─ 1811 /usr/sbin/mysqldOct 01 14:20:23 openeuler22 systemd[1]: Starting MySQL Server...
Oct 01 14:20:27 openeuler22 systemd[1]: Started MySQL Server.# 获取MySQL初始密码
[root@openeuler22 ~]# grep password /var/log/mysqld.log
2025-10-01T06:20:24.661048Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: lpMLhfZ4%*gX
# "lpMLhfZ4%*gX"就是MySQL的初始密码# 修改mysql密码
[root@openeuler22 ~]#  mysqladmin -uroot -p'lpMLhfZ4%*gX' password 123456
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
mysqladmin: unable to change password; error: 'Your password does not satisfy the current policy requirements'
# 上面报错提示密码太简单[root@openeuler22 ~]# mysqladmin -uroot -p'lpMLhfZ4%*gX' password Raymond@2025
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.[root@openeuler22 ~]# mysql -uroot -p'Raymond@2025'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.4.6 MySQL Community Server - GPLCopyright (c) 2000, 2025, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> status
--------------
mysql  Ver 8.4.6 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:		9
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.4.6 MySQL Community Server - GPL
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Binary data as:		Hexadecimal
Uptime:			2 min 50 secThreads: 2  Questions: 9  Slow queries: 0  Opens: 130  Flush tables: 3  Open tables: 46  Queries per second avg: 0.052
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)mysql> exit
Bye

在“CentOS 7”上安装MySQL:

方法1:下载官方yum仓库安装包,并安装

# Rocky、Almalinux、CentOS、AnolisOS、OpenCloudOS、Kylin Server默认没有wget包,需要安装
[root@centos7 ~]# yum install -y wget[root@centos7 ~]# wget https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm[root@centos7 ~]# rpm -ivh mysql84-community-release-el7-1.noarch.rpm# 替换国内镜像源
sed -i.bak 's|http://repo.mysql.com|https://mirrors.nju.edu.cn/mysql|g' /etc/yum.repos.d/mysql-community*.repo

方法2:添加镜像源

[root@centos7 ~]# cat > /etc/yum.repos.d/mysql.repo <<EOF
[mysql-8.4-lts-community]
name=MySQL 8.4 LTS Community Server
baseurl=https://mirrors.nju.edu.cn/mysql/yum/mysql-8.4-community/el/7/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.nju.edu.cn/mysql/RPM-GPG-KEY-mysql-2023
EOF

继续安装MySQL:

[root@centos7 ~]# yum makecache[root@centos7 ~]# yum list mysql-community-server --showduplicates
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Available Packages
mysql-community-server.x86_64                         8.4.0-1.el7                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.2-1.el7                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.3-1.el7                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.4-1.el7                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.5-1.el7                         mysql-8.4-lts-community
mysql-community-server.x86_64                         8.4.6-1.el7                         mysql-8.4-lts-community[root@centos7 ~]# yum install -y mysql-community-server[root@centos7 ~]# systemctl enable --now mysqld[root@centos7 ~]# ls /var/lib/mysql
auto.cnf       client-cert.pem    ibdata1       mysql.ibd              private_key.pem  undo_001
binlog.000001  client-key.pem     ibtmp1        mysql.sock             public_key.pem   undo_002
binlog.index   #ib_16384_0.dblwr  #innodb_redo  mysql.sock.lock        server-cert.pem
ca-key.pem     #ib_16384_1.dblwr  #innodb_temp  mysql_upgrade_history  server-key.pem
ca.pem         ib_buffer_pool     mysql         performance_schema     sys[root@centos7 ~]# mysql -V
mysql  Ver 8.4.6 for Linux on x86_64 (MySQL Community Server - GPL)[root@centos7 ~]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2025-10-01 22:34:48 CST; 27s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 1148 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 1212 (mysqld)Status: "Server is operational"CGroup: /system.slice/mysqld.service└─1212 /usr/sbin/mysqldOct 01 22:34:43 centos7 systemd[1]: Starting MySQL Server...
Oct 01 22:34:48 centos7 systemd[1]: Started MySQL Server.# 获取mysql初始密码
[root@centos7 ~]# grep password /var/log/mysqld.log
2025-10-01T14:34:45.284547Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: y2rAF8a-w_9=
# “y2rAF8a-w_9=”就是mysql的初始密码# 修改mysql密码
[root@centos7 ~]# mysqladmin -uroot -p'y2rAF8a-w_9=' password 123456
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
mysqladmin: unable to change password; error: 'Your password does not satisfy the current policy requirements'
# 上面报错提示密码太简单[root@centos7 ~]# mysqladmin -uroot -p'y2rAF8a-w_9=' password Raymond@2025
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.[root@centos7 ~]# mysql -uroot -p'Raymond@2025'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.4.6 MySQL Community Server - GPLCopyright (c) 2000, 2025, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> status
--------------
mysql  Ver 8.4.6 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:		9
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.4.6 MySQL Community Server - GPL
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Binary data as:		Hexadecimal
Uptime:			1 min 24 secThreads: 2  Questions: 9  Slow queries: 0  Opens: 130  Flush tables: 3  Open tables: 46  Queries per second avg: 0.107
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql> exit
Bye
http://www.dtcms.com/a/450195.html

相关文章:

  • 广东宣布即时优化调整seo诊断分析
  • 做网站的经验和体会论坛网站搭建
  • MySQL笔记---索引
  • 免费做自荐书的网站网站设计怎么算间距
  • 在线制作表白网站的源码雄安新区网站建设
  • 让“通感”更聪明:人工智能在通信感知一体化中的非线性建模优势
  • 2024年ASOC SCI2区TOP,费马-韦伯定位粒子群算法+无人机协同路径规划,深度解析+性能实测
  • 政务网站平台建设 招标河北省建设网站的网站首页
  • 怎样建设美食网站wordpress外网排版问题
  • 自助建站网站程序源码手机网站建设注册塔山双喜
  • 内卷式迷茫-当游戏沉迷与疯狂刷题成为“空心病”的双重面具-AI
  • dedecms 网站名称网站开发与建设方向
  • Oracle OCP认证考试题目详解082系列第56题
  • 织梦网站首页文字修改响应式网页制作
  • uv `pyvenv.cfg` is missing micromaba环境报错解决
  • 还原论与系统论在计算机科学中的应用
  • 做明星ps黄图网站陕西建设网网站集群
  • 制作公司网站用阿里云响应式网站 软件
  • 视频号下载器 (1)
  • 电源——BOOST电路设计实战
  • 专业app开发定制公司网络优化的内容包括哪些
  • 海南省两学一做网站flash同视频做网站
  • BLDCPMSM电机控制器硬件设计工程(六)大功率控制器功率模块驱动电源方案
  • 中秋赏月互动页面:用前端技术演绎传统节日之美
  • 网站建设swot网店装修是什么意思
  • 企业为什么要做网络营销推广西宁做网站seo
  • C语言易错点大总结
  • 建设电子商务网站的启示邮箱登录入口qq网页版
  • LeetCode:100.寻找重复数
  • 还原论与系统论在学习与认知中的启示