MySQL介绍和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 Yum资源库安装MySQL
        • 2.2.1.1 MySQL 8.0
        • 2.2.1.2 MySQL 8.4
      • 2.2.2 Apt资源库安装MySQL
        • 2.2.2.1 MySQL 8.0
        • 2.2.2.2 MySQL 8.4
      • 2.2.3 SUSE资源库安装MySQL
        • 2.2.3.1 MySQL 8.0
        • 2.2.3.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@rocky9 ~]# mkdir -p /etc/systemd/network/
      [root@rocky9 ~]# touch /etc/systemd/network/70-eth0.link[root@rocky9 ~]# 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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:f8:60:8f brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 172.31.7.16/21 brd 172.31.7.255 scope global dynamic noprefixroute ens160valid_lft 1791sec preferred_lft 1791secinet6 fe80::20c:29ff:fef8:608f/64 scope link noprefixroute valid_lft forever preferred_lft forever[root@rocky9 ~]# cat > /etc/systemd/network/70-eth0.link << EOF
      [Match]
      MACAddress=00:0c:29:f8:60:8f[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@rocky9 ~]# mv /etc/NetworkManager/system-connections/ens160.nmconnection /etc/NetworkManager/system-connections/eth0.nmconnection[root@rocky9 ~]# 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、AnolisOS 8、OpenCloudOS 8、Kylin Server v10、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@anolis8 ~]# 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:c5:38:3b brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 172.31.7.15/21 brd 172.31.7.255 scope global dynamic noprefixroute ens33valid_lft 1590sec preferred_lft 1590secinet6 fe80::20c:29ff:fec5:383b/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:c5:38:3b", 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 24.04
      ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'`
      sed -i.bak 's/'${ETHNAME}'/eth0/' /etc/netplan/50-cloud-init.yaml# Ubuntu 24.04
      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 20.04
      ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'`
      sed -i.bak 's/'${ETHNAME}'/eth0/' /etc/netplan/00-installer-config.yaml# Ubuntu 18.04
      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=172.31.0.9
PREFIX=21
GATEWAY=172.31.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、AnolisOS 8、OpenCloudOS 8、Kylin Server v10、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 18.04
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 20.04
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 22.04/24.04
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 24.04:

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

Ubuntu 18.04、20.04和22.04:

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 Yum资源库安装MySQL

2.2.1.1 MySQL 8.0

在Rocky 8/9、Almalinux 8/9、CentOS Stream 8/9、openEuler 22.03/24.03、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:00:27 ago on Fri 18 Apr 2025 08:58:40 PM CST.
Available Packages
mysql-server.x86_64                                     8.0.41-2.el9_5                                      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 ~]# mysql -V
mysql  Ver 8.0.41 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 Mon 2025-05-26 18:52:06 CST; 19s agoProcess: 11774 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)Process: 11796 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)Main PID: 11870 (mysqld)Status: "Server is operational"Tasks: 38 (limit: 10892)Memory: 455.1MCPU: 3.566sCGroup: /system.slice/mysqld.service└─11870 /usr/libexec/mysqld --basedir=/usrMay 26 18:52:02 rocky9 systemd[1]: Starting MySQL 8.0 database server...
May 26 18:52:02 rocky9 mysql-prepare-db-dir[11796]: Initializing MySQL database
May 26 18:52:06 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.41 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.41 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.41 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:			39 secThreads: 2  Questions: 5  Slow queries: 0  Opens: 120  Flush tables: 3  Open tables: 36  Queries per second avg: 0.128
--------------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.repo <<EOF
[mysql]
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-8.0-community-el7-x86_64/
gpgcheck=0
EOF[root@centos7 ~]# yum makecache[root@centos7 ~]# yum list mysql-community-server --showduplicates
Loaded plugins: fastestmirror
Repository 'mysql' is missing name in configuration, using id
Loading mirror speeds from cached hostfile
Available Packages
mysql-community-server.x86_64                                 8.0.11-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.12-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.13-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.14-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.15-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.16-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.16-2.el7                                  mysql
mysql-community-server.x86_64                                 8.0.17-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.18-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.19-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.20-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.21-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.22-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.23-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.24-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.25-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.26-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.27-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.28-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.30-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.31-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.32-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.33-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.34-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.35-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.36-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.37-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.39-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.40-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.41-1.el7                                  mysql
mysql-community-server.x86_64                                 8.0.42-1.el7                                  mysql[root@centos7 ~]# yum -y install mysql-community-server[root@centos7 ~]# systemctl enable --now mysqld[root@centos7 ~]# mysql -V
mysql  Ver 8.0.42 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 Tue 2025-05-27 03:23:18 CST; 25s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 1153 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 1219 (mysqld)Status: "Server is operational"CGroup: /system.slice/mysqld.service└─1219 /usr/sbin/mysqldMay 27 03:23:14 centos7 systemd[1]: Starting MySQL Server...
May 27 03:23:18 centos7 systemd[1]: Started MySQL Server.# 获取mysql 5.7初始密码
[root@centos7 ~]# grep password /var/log/mysqld.log
2025-05-26T19:23:15.760607Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ws6_srh4rk=M
# "ws6_srh4rk=M"就是MySQL的初始密码# 修改mysql密码
[root@centos7 ~]# mysqladmin -uroot -p'ws6_srh4rk=M' 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'ws6_srh4rk=M' 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 13
Server version: 8.0.42 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.42 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:		13
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.0.42 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:			4 min 2 secThreads: 2  Questions: 11  Slow queries: 0  Opens: 140  Flush tables: 3  Open tables: 56  Queries per second avg: 0.045
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql> exit
Bye
2.2.1.2 MySQL 8.4

在Rocky 10和Almalinux 10上安装MySQL:

[root@rocky10 ~]# yum list mysql*-server --showduplicates
Last metadata expiration check: 0:00:29 ago on Tue 10 Jun 2025 11:20:22 AM CST.
Available Packages
mysql8.4-server.x86_64                                   8.4.4-2.el10                                   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.4 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 Tue 2025-06-10 11:22:48 CST; 32s agoInvocation: 9156f6bbf370431887df1a3d38689b85Process: 1529 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)Process: 1555 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)Main PID: 1628 (mysqld)Status: "Server is operational"Tasks: 35 (limit: 10497)Memory: 440.3M (peak: 454.9M)CPU: 2.949sCGroup: /system.slice/mysqld.service└─1628 /usr/libexec/mysqld --basedir=/usrJun 10 11:22:44 rocky10 systemd[1]: Starting mysqld.service - MySQL 8.4 database server...
Jun 10 11:22:44 rocky10 mysql-prepare-db-dir[1555]: Initializing MySQL database
Jun 10 11:22:48 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.4 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.4 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.4 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:			58 secThreads: 2  Questions: 6  Slow queries: 0  Opens: 120  Flush tables: 3  Open tables: 36  Queries per second avg: 0.103
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)mysql> exit
Bye

在CentOS Stream 10上安装MySQL:

[root@centos10 ~]# yum list mysql-server --showduplicates
Last metadata expiration check: 0:02:19 ago on Fri 18 Apr 2025 08:47:00 PM CST.
Available Packages
mysql-server.x86_64                                      8.4.2-1.el10                                       appstream
mysql-server.x86_64                                      8.4.2-4.el10                                       appstream
mysql-server.x86_64                                      8.4.2-5.el10                                       appstream[root@centos10 ~]# yum install -y mysql-server[root@centos10 ~]# systemctl enable --now mysqld[root@centos10 ~]# ls /var/lib/mysqlauto.cnf        client-cert.pem      ibdata1         mysql.ibd               mysqlx.sock          server-cert.pembinlog.000001   client-key.pem       ibtmp1          mysql.sock              mysqlx.sock.lock     server-key.pembinlog.index   '#ib_16384_0.dblwr'  '#innodb_redo'   mysql.sock.lock         performance_schema   sysca-key.pem     '#ib_16384_1.dblwr'  '#innodb_temp'   mysql_upgrade_history   private_key.pem      undo_001ca.pem          ib_buffer_pool       mysql           mysql_upgrade_info      public_key.pem       undo_002[root@centos10 ~]# mysql -V
mysql  Ver 8.4.2 for Linux on x86_64 (Source distribution)[root@centos10 ~]# systemctl status mysqld
● mysqld.service - MySQL 8.4 database serverLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)Active: active (running) since Fri 2025-04-18 20:52:36 CST; 1min 29s agoInvocation: 88e292c61b504209b59f1c6c66e8a394Process: 1460 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)Process: 1483 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)Main PID: 1556 (mysqld)Status: "Server is operational"Tasks: 34 (limit: 10497)Memory: 446.1M (peak: 454M)CPU: 3.678sCGroup: /system.slice/mysqld.service└─1556 /usr/libexec/mysqld --basedir=/usrApr 18 20:52:31 centos10 systemd[1]: Starting mysqld.service - MySQL 8.4 database server...
Apr 18 20:52:32 centos10 mysql-prepare-db-dir[1483]: Initializing MySQL database
Apr 18 20:52:36 centos10 systemd[1]: Started mysqld.service - MySQL 8.4 database server.[root@centos10 ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.4.2 Source distributionCopyright (c) 2000, 2024, 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.2 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.2 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 54 secThreads: 2  Questions: 6  Slow queries: 0  Opens: 120  Flush tables: 3  Open tables: 36  Queries per second avg: 0.052
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql> exit
Bye

在Rocky 8/9、Almalinux 8/9、CentOS Stream 8/9、openEuler 22.03/24.03、AnolisOS 8/23、OpenCloudOS 8/9、Kylin Server v10、Uos Server v20上安装MySQL:

打开“https://dev.mysql.com/downloads”网址,选择“MySQL Yum Repository(MySQL Yum资源库)”,如图2所示。

t2

图2 下载Yum仓库包

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

t3

图3 下载Yum仓库包

Rocky 9、Almalinux 9、CentOS Stream 9、AnolisOS 23、OpenCloudOS 9:

# Rocky、Almalinux、CentOS、openEuler、AnolisOS、OpenCloudOS、Kylin Server、Uos 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[root@rocky9 ~]# yum makecache[root@rocky9 ~]# yum list mysql-community-server --showduplicates
Last metadata expiration check: 0:00:06 ago on Fri 18 Apr 2025 07:37:00 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[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.5 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 Sat 2025-04-12 21:14:16 CST; 49s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 12094 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 12159 (mysqld)Status: "Server is operational"Tasks: 35 (limit: 10892)Memory: 443.0MCPU: 3.806sCGroup: /system.slice/mysqld.service└─12159 /usr/sbin/mysqldApr 12 21:14:11 rocky9 systemd[1]: Starting MySQL Server...
Apr 12 21:14:16 rocky9 systemd[1]: Started MySQL Server.# 获取MySQL初始密码
[root@rocky9 ~]# grep password /var/log/mysqld.log
2025-04-12T13:52:56.917890Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: jqdeiDdgi3_I
# "jqdeiDdgi3_I"就是MySQL的初始密码# 修改mysql密码
[root@rocky9 ~]# mysqladmin -uroot -p'jqdeiDdgi3_I' 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'jqdeiDdgi3_I' 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.5 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.5 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.5 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:			59 secThreads: 2  Questions: 9  Slow queries: 0  Opens: 130  Flush tables: 3  Open tables: 46  Queries per second avg: 0.152
--------------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:

[root@rocky8 ~]# 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[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
# 找不到安装包

在“Rocky 8、Almalinux 8、CentOS Stream 8、AnolisOS 8、OpenCloudOS 8”操作系统上添加镜像仓库后,找不到安装包,需要从官方网站下载安装包来安装。

打开"https://dev.mysql.com/downloads/mysql"网址,"Select Version(选择版本)"为:8.4.4 LTS,“Select Operating System(选择操作系统)”为:Red Hat Enterprise Linux / Oracle Linux,"Select OS Version(选择操作系统版本)"为:Red Hat Enterprise Linux 8 / Oracle Linux 8 (x86 , 64-bit),然后选择”RPM Bundel“后面的”Download“,如图4所示。

t4

图4 下载RPM包

[root@rocky8 ~]# wget https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.5-1.el8.x86_64.rpm-bundle.tar[root@rocky8 ~]# tar xf tar xf mysql-8.4.5-1.el8.x86_64.rpm-bundle.tar [root@rocky8 ~]# yum install -y perl libaio[root@rocky8 ~]# rpm -ivh mysql-community-client-plugins-8.4.5-1.el8.x86_64.rpm[root@rocky8 ~]# rpm -ivh mysql-community-common-8.4.5-1.el8.x86_64.rpm[root@rocky8 ~]# rpm -ivh mysql-community-libs-8.4.5-1.el8.x86_64.rpm[root@rocky8 ~]# rpm -ivh mysql-community-client-8.4.5-1.el8.x86_64.rpm[root@rocky8 ~]# rpm -ivh mysql-community-icu-data-files-8.4.5-1.el8.x86_64.rpm[root@rocky8 ~]# yum install -y net-tools[root@rocky8 ~]# rpm -ivh mysql-community-server-8.4.5-1.el8.x86_64.rpm[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.5 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 Sat 2025-04-19 01:13:21 CST; 35s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 15045 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 15112 (mysqld)Status: "Server is operational"Tasks: 35 (limit: 12176)Memory: 469.9MCGroup: /system.slice/mysqld.service└─15112 /usr/sbin/mysqldApr 19 01:13:17 anolis8 systemd[1]: Starting MySQL Server...
Apr 19 01:13:21 anolis8 systemd[1]: Started MySQL Server.# 获取MySQL初始密码
[root@rocky8 ~]# grep password /var/log/mysqld.log
2025-04-18T17:13:19.074870Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: gOtp+U:/L11&
# "y7:Fc>lcCpl!"就是MySQL的初始密码# 修改mysql密码
[root@rocky8 ~]# mysqladmin -uroot -p'gOtp+U:/L11&' 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'gOtp+U:/L11&' 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 9
Server version: 8.4.5 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.5 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.5 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 48 secThreads: 2  Questions: 9  Slow queries: 0  Opens: 130  Flush tables: 3  Open tables: 46  Queries per second avg: 0.083
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql> exit
Bye

openEuler 22.03/24.03、Kylin Server v10、Uos Server v20:

[root@openeuler2403 ~]#  yum install -y wget[root@openeuler2403 ~]#  wget https://dev.mysql.com/get/mysql84-community-release-el8-1.noarch.rpm[root@openeuler2403 ~]#  rpm -ivh mysql84-community-release-el8-1.noarch.rpm[root@openeuler2403 ~]#  yum makecache[root@openeuler2403 ~]#  yum list mysql-community-server --showduplicates
Last metadata expiration check: 0:00:19 ago on Fri 18 Apr 2025 03:09:05 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-communit[root@openeuler2403 ~]# yum install -y mysql-community-server[root@openeuler2403 ~]# systemctl enable --now mysqld[root@openeuler2403 ~]# 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@openeuler2403 ~]# mysql -V
mysql  Ver 8.4.5 for Linux on x86_64 (MySQL Community Server - GPL)[root@openeuler2403 ~]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)Active: active (running) since Fri 2025-04-18 15:25:52 CST; 38s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 1793 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 1859 (mysqld)Status: "Server is operational"Tasks: 35 (limit: 8901)Memory: 467.2M ()CGroup: /system.slice/mysqld.service└─1859 /usr/sbin/mysqldApr 18 15:25:48 openeuler2403 systemd[1]: Starting MySQL Server...
Apr 18 15:25:51 openeuler2403 (mysqld)[1859]: mysqld.service: Referenced but unset environment variable evaluates to>
Apr 18 15:25:52 openeuler2403 systemd[1]: Started MySQL Server.# 获取MySQL初始密码
[root@openeuler2403 ~]# grep password /var/log/mysqld.log
2025-04-18T07:25:49.630875Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: beM?N(3yyz&y
# "jqdeiDdgi3_I"就是MySQL的初始密码# 修改mysql密码
[root@openeuler2403 ~]# mysqladmin -uroot -p'beM?N(3yyz&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@openeuler2403 ~]# mysqladmin -uroot -p'beM?N(3yyz&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@openeuler2403 ~]# 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.4.5 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.5 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.4.5 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 18 secThreads: 2  Questions: 12  Slow queries: 0  Opens: 140  Flush tables: 3  Open tables: 56  Queries per second avg: 0.086
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)mysql> exit
Bye

在CentOS 7上安装MySQL:

[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[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-communit[root@centos7 ~]# yum install -y mysql-community-server[root@centos7 ~]# systemctl enable --now mysqld[root@centos7 ~]# mysql -V
mysql  Ver 8.4.5 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 Sat 2025-04-19 04:07:32 CST; 38s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 1185 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 1249 (mysqld)Status: "Server is operational"CGroup: /system.slice/mysqld.service└─1249 /usr/sbin/mysqldApr 19 04:07:27 centos7 systemd[1]: Starting MySQL Server...
Apr 19 04:07:32 centos7 systemd[1]: Started MySQL Server.# 获取mysql初始密码
[root@centos7 ~]# grep password /var/log/mysqld.log
2025-04-18T20:07:29.114303Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: )puUpc=M8VJk
# “)puUpc=M8VJk”就是mysql的初始密码# 修改mysql密码
[root@centos7 ~]# mysqladmin -uroot -p')puUpc=M8VJk' 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')puUpc=M8VJk' 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 10
Server version: 8.4.5 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.5 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.4.5 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 11 secThreads: 2  Questions: 12  Slow queries: 0  Opens: 140  Flush tables: 3  Open tables: 56  Queries per second avg: 0.091
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql> exit
Bye

2.2.2 Apt资源库安装MySQL

2.2.2.1 MySQL 8.0

在Ubuntu上安装MySQL:

root@ubuntu2404:~# apt-cache madison mysql-server
mysql-server | 8.0.42-0ubuntu0.24.04.1 | https://mirrors.aliyun.com/ubuntu noble-updates/main amd64 Packages
mysql-server | 8.0.42-0ubuntu0.24.04.1 | https://mirrors.aliyun.com/ubuntu noble-security/main amd64 Packages
mysql-server | 8.0.36-2ubuntu3 | https://mirrors.aliyun.com/ubuntu noble/main amd64 Packagesroot@ubuntu2404:~# apt install -y mysql-serverroot@ubuntu2404:~# systemctl enable --now mysqlroot@ubuntu2404:~# mysql -V
mysql  Ver 8.0.42-0ubuntu0.24.04.1 for Linux on x86_64 ((Ubuntu))root@ubuntu2404:~# systemctl status mysql
● mysql.service - MySQL Community ServerLoaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)Active: active (running) since Mon 2025-05-26 19:51:22 CST; 1min 3s agoMain PID: 2211 (mysqld)Status: "Server is operational"Tasks: 37 (limit: 2214)Memory: 364.0M (peak: 378.3M)CPU: 1.604sCGroup: /system.slice/mysql.service└─2211 /usr/sbin/mysqldMay 26 19:51:21 ubuntu2404 systemd[1]: Starting mysql.service - MySQL Community Server...
May 26 19:51:22 ubuntu2404 systemd[1]: Started mysql.service - MySQL Community Server.root@ubuntu2404:~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.42-0ubuntu0.24.04.1 (Ubuntu)Copyright (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.42-0ubuntu0.24.04.1 for Linux on x86_64 ((Ubuntu))Connection id:		8
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.0.42-0ubuntu0.24.04.1 (Ubuntu)
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/run/mysqld/mysqld.sock
Binary data as:		Hexadecimal
Uptime:			1 min 26 secThreads: 2  Questions: 5  Slow queries: 0  Opens: 119  Flush tables: 3  Open tables: 38  Queries per second avg: 0.058
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql> exit
Bye

在Debian上安装MySQL:

root@debian12:~# wget https://repo.mysql.com/mysql-apt-config_0.8.29-1_all.debroot@debian12:~# dpkg -i mysql-apt-config_0.8.29-1_all.deb
Selecting previously unselected package mysql-apt-config.
dpkg: regarding mysql-apt-config_0.8.29-1_all.deb containing mysql-apt-config, pre-dependency problem:mysql-apt-config pre-depends on gnupggnupg is not installed. # 提示没有安装gnupgdpkg: error processing archive mysql-apt-config_0.8.29-1_all.deb (--install):pre-dependency problem - not installing mysql-apt-config
Errors were encountered while processing:mysql-apt-config_0.8.29-1_all.debroot@debian12:~# apt install -y gnupgroot@debian12:~# dpkg -i mysql-apt-config_0.8.29-1_all.deb

使用箭头键导航到 “MySQL Server & Cluster (Currently selected: mysql-8.0)” 选项,然后按下 Enter 键,这将允许你选择具体的 MySQL 服务器版本,如图5所示。

t5

图5 选择MySQL版本

在版本选择界面中,选择 “mysql-8.0” 版本(或其他你想要的版本)并按 Enter,如图6所示。

t6

图6 选择MySQL版本

使用箭头键导航到 “Ok” 选项,按下 Enter 键,确认并保存配置,如图7所示。

t7

图7 确认选择

root@debian12:~# apt updateroot@debian12:~# apt-cache madison mysql-community-server
mysql-community-server | 8.0.42-1debian12 | http://repo.mysql.com/apt/debian bookworm/mysql-8.0 amd64 Packages
mysql-community | 8.0.42-1debian12 | http://repo.mysql.com/apt/debian bookworm/mysql-8.0 Sourcesroot@debian12:~# apt install -y mysql-community-server

输入MySQL root用户密码,然后按下 Enter 键,如图8所示。

t8

图8 输入MySQL root用户密码

在下面提示直接按下 Enter 键,如图9所示。

t9

图9 确认提示信息

选择“Use Strong Password Encryption (RECOMMENDED)”,然后按下 Enter 键,如图10所示。

t10

图10 选择默认身份验证插件

root@debian12:~# systemctl enable --now mysqlroot@debian12:~# mysql -V
mysql  Ver 8.0.42 for Linux on x86_64 (MySQL Community Server - GPL)root@debian12:~# systemctl status mysql
● mysql.service - MySQL Community ServerLoaded: loaded (/lib/systemd/system/mysql.service; enabled; preset: enabled)Active: active (running) since Mon 2025-05-26 21:52:30 CST; 1min 1s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlMain PID: 2575 (mysqld)Status: "Server is operational"Tasks: 38 (limit: 2273)Memory: 370.3MCPU: 1.506sCGroup: /system.slice/mysql.service└─2575 /usr/sbin/mysqldMay 26 21:52:30 debian12 systemd[1]: Starting mysql.service - MySQL Community Server...
May 26 21:52:30 debian12 systemd[1]: Started mysql.service - MySQL Community Server.root@debian12:~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.42 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.42 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.42 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/run/mysqld/mysqld.sock
Binary data as:		Hexadecimal
Uptime:			1 min 22 secThreads: 2  Questions: 7  Slow queries: 0  Opens: 119  Flush tables: 3  Open tables: 38  Queries per second avg: 0.085
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql> exit
Bye
2.2.2.2 MySQL 8.4

在Ubuntu、Debian上安装MySQL:

打开“https://dev.mysql.com/downloads”网址,选择“MySQL APT Repository(MySQL APT资源库)”,如图11所示。

t11

图11 下载APT仓库包

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

t12

图12 下载APT仓库包

在Ubuntu上安装MySQL:

root@ubuntu2404:~# wget https://dev.mysql.com/get/mysql-apt-config_0.8.34-1_all.debroot@ubuntu2404:~# dpkg -i mysql-apt-config_0.8.34-1_all.deb

使用箭头键导航到 “MySQL Server & Cluster (Currently selected: mysql-8.4-lts)” 选项,然后按下 Enter 键,这将允许你选择具体的 MySQL 服务器版本,如图13所示。

t13

图13 选择MySQL版本

在版本选择界面中,选择 “mysql-8.4-lts” 版本(或其他你想要的版本)并按 Enter,如图14所示。

t14

图14 选择MySQL版本

使用箭头键导航到 “Ok” 选项,按下 Enter 键,确认并保存配置,如图15所示。

t15

图15 确认选择

root@ubuntu2404:~# apt updateroot@ubuntu2404:~# apt-cache madison mysql-community-server
mysql-community-server | 8.4.5-1ubuntu24.04 | http://repo.mysql.com/apt/ubuntu noble/mysql-8.4-lts amd64 Packages
mysql-community | 8.4.5-1ubuntu24.04 | http://repo.mysql.com/apt/ubuntu noble/mysql-8.4-lts Sourcesroot@ubuntu2404:~# apt install -y  mysql-community-server

输入MySQL root用户密码,然后按下 Enter 键,如图16所示。

t16

图16 输入MySQL root用户密码

root@ubuntu2404:~# systemctl enable --now mysqlroot@ubuntu2404:~# mysql -V
mysql  Ver 8.4.5 for Linux on x86_64 (MySQL Community Server - GPL)root@ubuntu2404:~# systemctl status mysql
● mysql.service - MySQL Community ServerLoaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)Active: active (running) since Fri 2025-04-18 21:27:29 CST; 1min 44s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlMain PID: 2546 (mysqld)Status: "Server is operational"Tasks: 34 (limit: 2214)Memory: 428.5M (peak: 442.6M)CPU: 2.447sCGroup: /system.slice/mysql.service└─2546 /usr/sbin/mysqldApr 18 21:27:28 ubuntu2404 systemd[1]: Starting mysql.service - MySQL Community Server...
Apr 18 21:27:29 ubuntu2404 systemd[1]: Started mysql.service - MySQL Community Server.root@ubuntu2204:~# mysql
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.5 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.5 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.5 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/run/mysqld/mysqld.sock
Binary data as:		Hexadecimal
Uptime:			2 min 14 secThreads: 2  Questions: 6  Slow queries: 0  Opens: 119  Flush tables: 3  Open tables: 38  Queries per second avg: 0.044
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)mysql> exit
Bye

在Debian上安装MySQL:

root@debian12:~# wget https://dev.mysql.com/get/mysql-apt-config_0.8.34-1_all.debroot@debian12:~# dpkg -i  mysql-apt-config_0.8.34-1_all.deb
dpkg: regarding mysql-apt-config_0.8.34-1_all.deb containing mysql-apt-config, pre-dependency problem:mysql-apt-config pre-depends on gnupggnupg is not installed. # 提示没有安装gnupgdpkg: error processing archive mysql-apt-config_0.8.34-1_all.deb (--install):pre-dependency problem - not installing mysql-apt-config
Errors were encountered while processing:mysql-apt-config_0.8.34-1_all.debroot@debian12:~# apt install -y gnupgroot@debian12:~# dpkg -i  mysql-apt-config_0.8.34-1_all.deb

使用箭头键导航到 “MySQL Server & Cluster (Currently selected: mysql-8.4-lts)” 选项,然后按下 Enter 键,这将允许你选择具体的 MySQL 服务器版本,如图17所示。

t17

图17 选择MySQL版本

在版本选择界面中,选择 “mysql-8.4-lts” 版本(或其他你想要的版本)并按 Enter,如图18所示。

t18

图18 选择MySQL版本

使用箭头键导航到 “Ok” 选项,按下 Enter 键,确认并保存配置,如图19所示。

t19

图19 确认选择

root@debian12:~# apt updateroot@debian12:~# apt-cache madison mysql-community-server
mysql-community-server | 8.4.5-1debian12 | http://repo.mysql.com/apt/debian bookworm/mysql-8.4-lts amd64 Packages
mysql-community | 8.4.5-1debian12 | http://repo.mysql.com/apt/debian bookworm/mysql-8.4-lts Sourcesroot@debian12:~# apt install -y  mysql-community-server

输入MySQL root用户密码,然后按下 Enter 键,如图20所示。

t20

图20 输入MySQL root用户密码

root@debian12:~# systemctl enable --now mysqlroot@debian12:~# mysql -V
mysql  Ver 8.4.5 for Linux on x86_64 (MySQL Community Server - GPL)root@debian12:~# systemctl status mysql
● mysql.service - MySQL Community ServerLoaded: loaded (/lib/systemd/system/mysql.service; enabled; preset: enabled)Active: active (running) since Fri 2025-04-18 22:52:11 CST; 1min 4s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlMain PID: 2115 (mysqld)Status: "Server is operational"Tasks: 34 (limit: 2273)Memory: 436.0MCPU: 1.437sCGroup: /system.slice/mysql.service└─2115 /usr/sbin/mysqldApr 18 22:52:10 debian12 systemd[1]: Starting mysql.service - MySQL Community Server...
Apr 18 22:52:11 debian12 systemd[1]: Started mysql.service - MySQL Community Server.root@debian12:~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.4.5 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.5 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:		8
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.4.5 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/run/mysqld/mysqld.sock
Binary data as:		Hexadecimal
Uptime:			1 min 29 secThreads: 2  Questions: 6  Slow queries: 0  Opens: 119  Flush tables: 3  Open tables: 38  Queries per second avg: 0.067
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)mysql> exit
Bye

2.2.3 SUSE资源库安装MySQL

2.2.3.1 MySQL 8.0
opensuse15:~ # wget https://repo.mysql.com//mysql80-community-release-sl15-1.noarch.rpmopensuse15:~ # rpm -Uvh mysql80-community-release-sl15-1.noarch.rpm opensuse15:~ # rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
opensuse15:~ # zypper refreshopensuse15:~ # zypper search "mysql-community-server"
Loading repository data...
Warning: Repository 'Update repository of openSUSE Backports' metadata expired since 2025-05-26 06:48:52 CST.
Warning: Repository 'Main Update Repository' metadata expired since 2025-05-17 16:03:01 CST.Warning: Repository metadata expired: Check if 'autorefresh' is turned on (zypper lr), otherwisemanually refresh the repository (zypper ref). If this does not solve the issue, it could be thatyou are using a broken mirror or the server has actually discontinued to support the repository.Reading installed packages...S | Name                         | Summary                                      | Type
--+------------------------------+----------------------------------------------+--------| mysql-community-server       | A very fast and reliable SQL database server | package| mysql-community-server-debug | The debug version of MySQL server            | packageopensuse15:~ # zypper info "mysql-community-server"
Loading repository data...
Warning: Repository 'Update repository of openSUSE Backports' metadata expired since 2025-05-26 06:48:52 CST.
Warning: Repository 'Main Update Repository' metadata expired since 2025-05-17 16:03:01 CST.Warning: Repository metadata expired: Check if 'autorefresh' is turned on (zypper lr), otherwisemanually refresh the repository (zypper ref). If this does not solve the issue, it could be thatyou are using a broken mirror or the server has actually discontinued to support the repository.Reading installed packages...Information for package mysql-community-server:
-----------------------------------------------
Repository     : MySQL 8.0 Community Server
Name           : mysql-community-server
Version        : 8.0.42-1.sl15
Arch           : x86_64
Vendor         : Oracle and/or its affiliates
Installed Size : 401.1 MiB
Installed      : No
Status         : not installed
Source package : mysql-community-8.0.42-1.sl15.src
Upstream URL   : http://www.mysql.com/
Summary        : A very fast and reliable SQL database server
Description    : The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,and robust SQL (Structured Query Language) database server. MySQL Serveris intended for mission-critical, heavy-load production systems as wellas for embedding into mass-deployed software. MySQL is a trademark ofOracle and/or its affiliatesThe MySQL software has Dual Licensing, which means you can use the MySQLsoftware free of charge under the GNU General Public License(http://www.gnu.org/licenses/). You can also purchase commercial MySQLlicenses from Oracle and/or its affiliates if you do not wish to be bound by the terms ofthe GPL. See the chapter "Licensing and Support" in the manual forfurther info.The MySQL web site (http://www.mysql.com/) provides the latest news andinformation about the MySQL software.  Also please see the documentationand the manual for more information.This package includes the MySQL server binary as well as related utilitiesto run and administer a MySQL server.opensuse15:~ # zypper install -y mysql-community-serveropensuse15:~ # systemctl enable --now mysqlopensuse15:~ # mysql -V
mysql  Ver 8.0.42 for Linux on x86_64 (MySQL Community Server - GPL)
opensuse15:~ # systemctl status mysql
● mysql.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: disabled)Active: active (running) since Tue 2025-05-27 11:38:33 CST; 35s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 13955 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 14019 (mysqld)Status: "Server is operational"Tasks: 38 (limit: 2250)CPU: 6.301sCGroup: /system.slice/mysql.service└─14019 /usr/sbin/mysqldMay 27 11:38:25 opensuse15 systemd[1]: Starting MySQL Server...
May 27 11:38:32 opensuse15 (mysqld)[14019]: mysql.service: Referenced but unset environment variable evaluates t>
May 27 11:38:33 opensuse15 systemd[1]: Started MySQL Server.# 获取MySQL初始密码
opensuse15:~ # grep 'temporary password' /var/log/mysql/mysqld.log
2025-05-27T03:38:27.924298Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rhjiMe?S1g*S
# "rhjiMe?S1g*S"就是MySQL的初始密码# 修改mysql密码
[root@rocky9 ~]# mysqladmin -uroot -p'rhjiMe?S1g*S' 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'rhjiMe?S1g*S' 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 safetyopensuse15:~ # 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.0.42 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.42 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:		11
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		less
Using outfile:		''
Using delimiter:	;
Server version:		8.0.42 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 38 secThreads: 2  Questions: 11  Slow queries: 0  Opens: 140  Flush tables: 3  Open tables: 56  Queries per second avg: 0.069
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql> exit
Bye
2.2.3.2 MySQL 8.4

在openSUSE上安装MySQL:

打开“https://dev.mysql.com/downloads”网址,选择“MySQL SUSE Repository(MySQL SUSE资源库)”,如图21所示。

t21

图21 下载SUSE仓库包

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

t22

图22 下载SUSE仓库包

opensuse15:~ # wget https://dev.mysql.com/get/mysql84-community-release-sl15-1.noarch.rpmopensuse15:~ # rpm -Uvh mysql84-community-release-sl15-1.noarch.rpmopensuse15:~ # zypper update -y mysql84-community-releaseopensuse15:~ # zypper refreshopensuse15:~ # zypper install -y mysql-community-serveropensuse15:~ # systemctl enable --now mysqlopensuse15:~ # ls /var/lib/mysql
#ib_16384_0.dblwr  auto.cnf       ca.pem           ibdata1    mysql.sock             private_key.pem  sys
#ib_16384_1.dblwr  binlog.000001  client-cert.pem  ibtmp1     mysql.sock.lock        public_key.pem   undo_001
#innodb_redo       binlog.index   client-key.pem   mysql      mysql_upgrade_history  server-cert.pem  undo_002
#innodb_temp       ca-key.pem     ib_buffer_pool   mysql.ibd  performance_schema     server-key.pemopensuse15:~ # mysql -V
mysql  Ver 8.4.5 for Linux on x86_64 (MySQL Community Server - GPL)opensuse15:~ # systemctl status mysql
● mysql.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: disabled)Active: active (running) since Fri 2025-04-18 22:06:26 CST; 54s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 14025 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 14088 (mysqld)Status: "Server is operational"Tasks: 35 (limit: 2250)CPU: 5.552sCGroup: /system.slice/mysql.service└─14088 /usr/sbin/mysqldApr 18 22:06:18 opensuse15 systemd[1]: Starting MySQL Server...
Apr 18 22:06:24 opensuse15 (mysqld)[14088]: mysql.service: Referenced but unset environment variable evaluates to an>
Apr 18 22:06:26 opensuse15 systemd[1]: Started MySQL Server.# 获取MySQL初始密码
opensuse15:~ # grep 'temporary password' /var/log/mysql/mysqld.log
2025-04-18T14:06:21.043078Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Wwm:uvwie3sx
# "Wwm:uvwie3sx"就是MySQL的初始密码# 修改mysql密码
[root@rocky9 ~]# mysqladmin -uroot -p'Wwm:uvwie3sx' 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'Wwm:uvwie3sx' 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 safetyopensuse15:~ # 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.5 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.5 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:		11
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		less
Using outfile:		''
Using delimiter:	;
Server version:		8.4.5 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:			3 min 22 secThreads: 2  Questions: 12  Slow queries: 0  Opens: 140  Flush tables: 3  Open tables: 56  Queries per second avg: 0.059
--------------mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)mysql> exit
Bye

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/90324.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/90324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

J2EE模式---视图助手模式

视图助手模式基础概念视图助手模式&#xff08;View Helper Pattern&#xff09;是一种结构型设计模式&#xff0c;其核心思想是将视图层中复杂的逻辑提取到独立的助手类中&#xff0c;使视图代码更加简洁、易于维护。视图助手通常提供一系列工具方法&#xff0c;用于处理格式化…

开源的语音合成大模型-Cosyvoice使用介绍

1 模型概览 CosyVoice 是由阿里巴巴达摩院通义实验室开发的新一代生成式语音合成大模型系列&#xff0c;其核心目标是通过大模型技术深度融合文本理解与语音生成&#xff0c;实现高度拟人化的语音合成体验。该系列包含初代 CosyVoice 及其升级版 CosyVoice 2.0&#xff0c;两者…

深度学习·CLIP

CLIP 数据大小 4亿个文本-图像对&#xff0c;而且是高质量的 预训练方法 Text encoder“The text sequence is bracketed with [SOS] and [EOS] tokens and the activations of the highest layer of the transformer at the [EOS] token are used as the feature representati…

美光MTFC8GAKAJCN-4M_IT型eMMC应用介绍

1.1 芯片订购信息美光MTFC8GAKAJCN-4M_IT型eMMC&#xff0c;容量8GB&#xff0c;153-ball VFBGA封装。1.2 eMMC料号含义2.1 特性•多媒体卡&#xff08;MMC&#xff09;控制器和NAND闪存•153球FBGA封装&#xff08;符合RoHS标准&#xff0c;环保封装&#xff09;•VCC&#xf…

面向对象分析与设计40讲(6)设计原则之开闭原则

文章目录 一、概念 二、示例(C++ 实现) 1. 违反开闭原则的示例 2. 遵循开闭原则的示例 一、概念 开闭原则(Open-Closed Principle,OCP)是面向对象设计中的重要原则,由 Bertrand Meyer 提出,核心思想可以概括为:对扩展开放,对修改关闭。 具体来说,一个软件实体(如类…

[Linux入门] Linux 网络设置入门:从查看、测试到配置全攻略

目录 一、查看网络信息&#xff1a;了解你的网络状态 1️⃣核心工具&#xff1a;ip命令&#xff08;替代ifconfig&#xff09; <1> 基本语法&#xff1a; <2> 实用操作示例&#xff1a; 2️⃣查看路由表&#xff1a;route命令 3️⃣查看网络连接状态&#xf…

TyFlow:三维领域的粒子特效革命者

在动态模拟与视觉特效领域&#xff0c;​​TyFlow​​ 作为 3ds Max 中诞生的一款革命性粒子系统插件&#xff08;后来也支持独立开发&#xff09;&#xff0c;正在彻底改变艺术家们创作复杂动力学效果的方式。它以其无与伦比的灵活性、强大的计算能力和开创性的技术理念&#…

本地一键部署 Spark-TTS,支持Mac和Windows

Spark-TTS是一个文本转语音(TTS)的项目&#xff0c;零样本语音克隆逼真&#xff0c;多语言支持&#xff0c;语音参数可控。使用魔当(LM Downloader)&#xff0c;可以实现Spark-TTS的本地一键部署。 注意 如果使用Windows&#xff0c;推荐用NVIDIA显卡&#xff0c;生成速度较快…

传统时间:Date日期类,SimpleDateFormat,Calendar

目录DateSimpleDateFormatCalendarDate 代表的是日期和时间 常见构造器和方法&#xff1a; 构造器说明public Date()创建一个Date对象&#xff0c;代表的是系统当前此刻日期时间public Date(long time)把时间毫秒值转换成Date日期对象 常见方法说明public long getTime()返…

linus 环境 tomcat启动日志分隔

1.定义可执行文件&#xff1a;tomcatlog9090.sh fsize$(ls -l /data/tomcat-cms_9090/logs/catalina.out | cut -d -f 5)if [ $fsize -gt 40960000 ]; thenextdatedate %Y_%m_%d_%k_%Mdatapath/data/tomcat-cms_9090/logscd /data/tomcat-cms_9090/logscp catalina.out catali…

解密 Base64 编码:从原理到应用的全面解析

在网络传输、数据存储的世界里&#xff0c;Base64 编码如同一座隐形的桥梁&#xff0c;默默承担着重要的角色。当你发送邮件附件、在网页中嵌入图片&#xff0c;或是处理一些特殊格式的数据时&#xff0c;都可能在不知不觉中与它打交道。那么&#xff0c;Base64 编码究竟是什么…

C++实现Adam与RMSProp优化算法

C++中实现Adam和RMSProp优化算法 以下是一些关于C++中实现Adam和RMSProp优化算法的实用示例和资源,涵盖不同场景和应用。由于篇幅限制,完整代码,但提供关键实现片段、库使用方法和学习资源。 基础Adam优化器实现 Adam优化器实现 #include <vector> #include <c…

【物联网】基于树莓派的物联网开发【16】——树莓派GPIO控制LED灯实验

场景介绍 掌握GPIO引脚连接双色LED模块&#xff0c;编写Python程序代码&#xff0c;实现GPIO控制点亮双色LED灯&#xff01; 窗口查看引脚编号 1、在终端输入指令&#xff1a;pinout2、使用树莓派输入gpio readall命令查看pin状态 输入以下命令安装Git sudo apt install git-co…

低延迟网络中 gRPC 客户端的隐藏瓶颈及解决方案

低延迟网络中 gRPC 客户端的隐藏瓶颈及解决方案 在分布式系统性能优化领域,有一句名言:"优化非瓶颈环节都是徒劳"(Eliyahu M. Goldratt)。gRPC 作为广泛使用的高性能服务间通信框架,在特定场景下也会出现容易被忽略的客户端瓶颈。本文将解析这一问题的本质、复现…

打印机因为网络问题不能用,接到交换机后解决

之前的问题可参考&#xff1a; 打印机不能用&#xff1a;网络能ping通&#xff0c;并不表示网络正常好用_能ping通打印机却打印错误-CSDN博客 今天同事要打印个东西&#xff0c;问我打印机能不能用。我就奇怪了&#xff1a;之前不是好好的吗&#xff1f;一问&#xff0c;现在…

ubuntu22.04 录视屏软件推荐

4. VokoscreenNG功能&#xff1a;VokoscreenNG 是一个多功能的桌面录屏工具&#xff0c;支持录制整个屏幕、特定区域、窗口&#xff0c;并可以录制系统声音和麦克风。安装&#xff1a;sudo apt update sudo apt install vokoscreen-ng优点&#xff1a;界面友好&#xff0c;操作…

1、黑马点评复盘(短信登录-Session或Redis实现)

短信登录分别使用session和redis实现 1、基于Session实现登录 主要功能&#xff1a; 发送验证码短信验证码登录、注册校验登录状态 1.1 实现发送短信验证码功能 1.1.1 业务逻辑 用户在提交手机号后&#xff0c;会校验手机号是否合法&#xff0c;如果不合法&#xff0c;则要求…

文件管理困境如何破?ZFile+cpolar打造随身云盘新体验

文章目录前言【视频教程】1.关于ZFile2.本地部署ZFile3.使用ZFile4.ZFile的配置5.cpolar内网穿透工具安装6.创建远程连接公网地址7.固定ZFile公网地址前言 每天的数字生活如同在数据海洋中航行&#xff0c;工作文档、旅行照片、学习资料…这些重要资产是否总让你感到难以掌控&…

开源数据库E-R图绘制工具分享

1. 特点&#xff1a; 可直接使用&#xff0c;无需注册账号 无状态的纯前端工具&#xff0c;数据会存放在浏览器中。设计完成后可将数据保存到本地 2. 使用场景&#xff1a; 描述E-R图&#xff0c;对数据库表关系进行直观分析 3. 效果&#xff1a; 4. 测试数据 用来测试的建…

安卓 Audio Thread 分析

一、PlaybackThread::threadLoop_write 1.变量 mFramesWritten 类型: int64_t 作用: 记录从线程启动以来已写入音频设备的帧数&#xff08;不包括挂起状态下的写入&#xff09; mSuspendedFrames 类型: int64_t 作用: 记录线程在挂起&#xff08;suspended&#xff09;状态下模…