MySQL介绍和MySQL包安装(一)

举报
Raymond运维 发表于 2025/09/21 11:55:51 2025/09/21
【摘要】 MySQL介绍和MySQL 8.0包安装

MySQL介绍和安装

1.MySQL介绍

图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 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::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 1000
          link/ether 00:0c:29:02:55:30 brd ff:ff:ff:ff:ff:ff
          altname enp3s0
          altname enx000c29025530
          inet 172.31.15.1/20 brd 172.31.15.255 scope global dynamic noprefixroute ens160
             valid_lft 1776sec preferred_lft 1776sec
          inet6 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: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@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 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::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 1000
          link/ether 00:0c:29:47:02:3f brd ff:ff:ff:ff:ff:ff
          altname enp2s1
          inet 172.31.15.25/20 brd 172.31.15.255 scope global dynamic noprefixroute ens33
             valid_lft 1785sec preferred_lft 1785sec
          inet6 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: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/bash
    
    read -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}
    EOF
    
    raymond@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=172.31.0.10
PREFIX=20
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 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: 2
  renderer: networkd
  ethernets:
    ${ETHNAME}:
      dhcp4: no
      dhcp6: no
      addresses: [${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: 2
  renderer: networkd
  ethernets:
    ${ETHNAME}:
      dhcp4: no
      dhcp6: no
      addresses: [${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: 2
  renderer: networkd
  ethernets:
    ${ETHNAME}:
      dhcp4: no
      dhcp6: no
      addresses: [${IP}/${PREFIX}]
      routes:
        - to: default
          via: ${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*.repo

dnf 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/perl

use 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*.repo

dnf 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-*.repo

dnf 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-*.repo

yum 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.sources

apt 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.list

apt 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.list

apt 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.repo

dnf 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*.repo

dnf 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*.repo

dnf 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-*.repo

zypper 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 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: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 server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: active (running) since Mon 2025-05-26 18:52:06 CST; 19s ago
    Process: 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.1M
        CPU: 3.566s
     CGroup: /system.slice/mysqld.service
             └─11870 /usr/libexec/mysqld --basedir=/usr

May 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 distribution

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.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 sec

Threads: 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

在Kylin Server V11上安装MySQL:

在“Kylin Server V11”操作系统官方没有镜像仓库,需要从官方网站下载安装包来安装。

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

图2 下载MySQL RPM包

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

图3 下载MySQL RPM包

选择“MySQL Community Server(MySQL社区服务器)”,如图4所示。

图4 下载MySQL RPM包

"Select Version(选择版本)"为:8.0.43,“Select Operating System(选择操作系统)”为:Red Hat Enterprise Linux / Oracle Linux,"Select OS Version(选择操作系统版本)"为:Red Hat Enterprise Linux 9 / Oracle Linux 9 (x86 , 64-bit),然后选择”RPM Bundel“后面的”Download“,如图5所示。

图5 下载MySQL RPM包

[root@kylin11 ~]# wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.43-1.el9.x86_64.rpm-bundle.tar

[root@kylin11 ~]# tar xf mysql-8.0.43-1.el9.x86_64.rpm-bundle.tar

[root@kylin11 ~]# yum install -y perl libaio

[root@kylin11 ~]# rpm -ivh mysql-community-client-plugins-8.0.43-1.el9.x86_64.rpm

[root@kylin11 ~]# rpm -ivh mysql-community-common-8.0.43-1.el9.x86_64.rpm

[root@kylin11 ~]#  rpm -ivh mysql-community-libs-8.0.43-1.el9.x86_64.rpm

[root@kylin11 ~]# rpm -ivh mysql-community-client-8.0.43-1.el9.x86_64.rpm

[root@kylin11 ~]# rpm -ivh mysql-community-icu-data-files-8.0.43-1.el9.x86_64.rpm

[root@kylin11 ~]# yum install -y net-tools

[root@kylin11 ~]# rpm -ivh mysql-community-server-8.0.43-1.el9.x86_64.rpm

[root@kylin11 ~]# systemctl enable --now mysqld

[root@kylin11 ~]# ls /var/lib/mysql
 auto.cnf        client-cert.pem      ibdata1         mysql.ibd            public_key.pem    undo_002
 binlog.000001   client-key.pem       ibtmp1          mysql.sock           server-cert.pem
 binlog.index   '#ib_16384_0.dblwr'  '#innodb_redo'   mysql.sock.lock      server-key.pem
 ca-key.pem     '#ib_16384_1.dblwr'  '#innodb_temp'   performance_schema   sys
 ca.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 Server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: active (running) since Sat 2025-09-13 14:26:52 CST; 29s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 3075 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
   Main PID: 3144 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 8626)
     Memory: 408.8M ()
     CGroup: /system.slice/mysqld.service
             └─3144 /usr/sbin/mysqld

Sep 13 14:26:48 kylin11 systemd[1]: Starting MySQL Server...
Sep 13 14:26:51 kylin11 (mysqld)[3144]: mysqld.service: Referenced but unset environment variable evaluates to a>
Sep 13 14:26:52 kylin11 systemd[1]: Started MySQL Server.

# 获取MySQL初始密码
[root@kylin11 ~]# grep password /var/log/mysqld.log
2025-09-13T06:26:49.258021Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: fWgdHl1)&<C(
# "fWgdHl1)&<C("就是MySQL的初始密码

# 修改mysql密码
[root@kylin11 ~]# mysqladmin -uroot -p'fWgdHl1)&<C(' 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'fWgdHl1)&<C(' 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 - GPL

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.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 9 sec

Threads: 2  Questions: 11  Slow queries: 0  Opens: 140  Flush tables: 3  Open tables: 56  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

在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 Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2025-05-27 03:23:18 CST; 25s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 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/mysqld

May 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 - GPL

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 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 sec

Threads: 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
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。