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介绍
图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 的特点
- 开源免费
- MySQL 是开源软件,这意味着用户可以免费下载、安装和使用它。开源特性也使得 MySQL 的社区非常活跃,有大量的开发者参与贡献代码和插件,帮助不断完善和优化数据库系统。
- 高性能
- MySQL 在处理大量数据时表现出色。它支持多种存储引擎,其中最常用的是 InnoDB。InnoDB 存储引擎提供了事务支持、行级锁定和外键约束等功能,能够有效地提高并发性能和数据一致性。例如,在一个电商网站中,当多个用户同时下单时,InnoDB 存储引擎可以确保订单数据的正确插入和更新,而不会出现数据冲突。
- 跨平台
- MySQL 可以运行在多种操作系统上,包括 Linux、Windows、macOS 等。这种跨平台特性使得开发人员可以在不同的开发环境中使用 MySQL,方便了开发和部署。比如,开发人员可以在 Windows 系统上开发应用程序,而将数据库部署在 Linux 服务器上,以利用 Linux 的稳定性和性能优势。
- 易于使用
- MySQL 提供了简单易用的命令行工具和图形化界面工具(如 MySQL Workbench)。通过这些工具,用户可以方便地进行数据库的创建、表的定义、数据的插入、查询和更新等操作。例如,通过 MySQL Workbench,用户可以直观地看到数据库的结构,通过图形化界面进行 SQL 查询的编写和执行,而不需要记住复杂的命令行语法。
- 可扩展性强
- MySQL 支持集群和分布式数据库架构,能够满足大规模数据存储和高并发访问的需求。通过配置主从复制、分片等技术,可以实现数据库的高可用性和负载均衡。例如,在一个大型互联网应用中,可以使用主从复制架构,将主数据库用于数据的写入操作,从数据库用于读取操作,从而提高系统的读取性能。
- 安全性高
- MySQL 提供了多种安全机制,如用户权限管理、数据加密、SSL/TLS 支持等。用户可以根据需要为不同的用户分配不同的权限,限制用户对数据库的操作范围。例如,可以为普通用户只授予查询权限,而将数据修改和删除权限授予管理员用户。同时,通过数据加密和 SSL/TLS 加密通信,可以保护数据在存储和传输过程中的安全。
1.3 MySQL 的应用领域
- 网站开发
- MySQL 是 Web 开发中常用的数据库之一。它与 PHP、Python、Java 等编程语言配合良好,能够快速实现动态网站的功能。例如,在一个新闻网站中,MySQL 可以存储新闻文章、用户评论、用户信息等数据,通过 SQL 查询语句,网站可以动态地展示新闻内容和用户评论。
- 企业级应用
- 许多企业使用 MySQL 来存储和管理业务数据。例如,在一个企业的客户关系管理系统(CRM)中,MySQL 可以存储客户信息、销售记录、订单详情等数据。通过 MySQL 的事务处理功能,可以确保业务数据的完整性和一致性。
- 大数据分析
- 虽然 MySQL 本身不是专门的大数据分析工具,但它可以作为数据仓库的一部分,存储和管理结构化数据。通过与其他数据分析工具(如 Apache Hive、Spark 等)结合,可以对存储在 MySQL 中的数据进行分析和挖掘,为企业决策提供支持。
- 移动应用后端
- 在移动应用开发中,MySQL 可以作为后端数据库,存储用户数据、应用配置信息等。移动应用通过网络请求与 MySQL 数据库进行交互,获取数据并展示给用户。例如,在一个社交类移动应用中,MySQL 可以存储用户的好友关系、消息记录等数据。
1.4 MySQL 的存储引擎
MySQL 支持多种存储引擎,每种存储引擎都有其特点和适用场景。以下是一些常见的存储引擎:
- InnoDB
- 这是 MySQL 的默认存储引擎。它支持事务处理、行级锁定和外键约束。InnoDB 的事务特性可以保证数据操作的原子性、一致性、隔离性和持久性(ACID)。例如,在一个银行系统的转账操作中,InnoDB 存储引擎可以确保转账操作要么完全成功,要么完全失败,不会出现数据不一致的情况。
- MyISAM
- MyISAM 是 MySQL 早期的默认存储引擎,它支持全文索引,适合用于文本搜索等场景。不过,MyISAM 不支持事务处理和行级锁定,而是采用表级锁定。这意味着在并发操作时,可能会出现性能瓶颈。例如,在一个高并发的电商网站中,如果使用 MyISAM 存储引擎,可能会导致多个用户同时下单时出现数据冲突或性能下降的情况。
- Memory
- Memory 存储引擎将数据存储在内存中,因此读取速度非常快。但是,Memory 存储引擎的数据在数据库重启后会丢失,因此它适合用于临时数据存储和快速查询的场景。例如,在一个需要快速统计用户访问次数的应用中,可以使用 Memory 存储引擎存储临时的访问数据,然后定期将数据汇总到其他存储引擎中。
1.5 MySQL 的架构
MySQL 的架构可以分为多个层次,主要包括客户端层、服务端层和存储引擎层。
- 客户端层
- 客户端层是用户与 MySQL 数据库交互的入口。用户可以通过命令行工具、图形化界面工具或编程语言中的数据库连接库(如 JDBC、ODBC 等)与 MySQL 数据库进行通信。客户端层的主要功能是将用户的 SQL 查询语句发送到服务端,并接收服务端返回的查询结果。
- 服务端层
- 服务端层是 MySQL 的核心部分,它负责处理客户端的请求。服务端层主要包括连接池、查询解析器、查询优化器和缓存机制等组件。连接池用于管理客户端的连接,提高连接的复用性。查询解析器将客户端发送的 SQL 查询语句解析成内部的逻辑结构。查询优化器根据查询语句和数据库的统计信息,选择最优的查询执行计划。缓存机制可以缓存查询结果和数据页,提高查询性能。例如,当用户多次查询相同的数据时,缓存机制可以直接返回缓存中的结果,而不需要重新从磁盘读取数据。
- 存储引擎层
- 存储引擎层负责数据的存储和检索。如前面提到的,MySQL 支持多种存储引擎,每种存储引擎都有自己的数据存储格式和访问机制。服务端层通过统一的接口与存储引擎层进行交互,将查询请求转发给存储引擎,并将存储引擎返回的结果返回给客户端。
1.6 MySQL 的优势和局限性
-
优势
- 性能卓越:MySQL 在处理高并发和大数据量时表现出色,尤其在 Web 应用和互联网领域,能够快速响应用户的请求。
- 成本低:开源免费的特性使得 MySQL 的使用成本较低,适合中小型企业或个人开发者。
- 社区支持强大:由于 MySQL 的开源性和广泛的使用,拥有庞大的开发者社区。用户可以在社区中找到大量的技术文档、教程和解决方案。
- 易于学习和部署:MySQL 的语法简单,易于上手。同时,它提供了多种安装方式和配置选项,方便用户根据自己的需求进行部署。
-
局限性
-
功能相对有限:与一些商业数据库(如 Oracle、SQL Server)相比,MySQL 在某些高级功能(如复杂的数据分析、高级的存储过程等)上可能稍显不足。
-
数据一致性问题:在高并发场景下,如果配置不当,可能会出现数据一致性问题。例如,如果使用了不支持事务的存储引擎(如 MyISAM),可能会导致数据丢失或不一致的情况。
-
可维护性问题:随着数据库规模的增大,MySQL 的维护成本可能会增加。例如,数据库的备份、恢复、性能优化等操作需要专业的知识和经验。
-
1.7 MySQL 的未来发展趋势
- 性能优化
- MySQL 开发团队会不断优化数据库的性能,特别是在高并发和大数据量处理方面。例如,通过改进存储引擎的算法、优化查询优化器的逻辑等方式,进一步提高 MySQL 的性能。
- 与云计算的融合
- 随着云计算技术的发展,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所示。
图2 下载Yum仓库包
然后根据系统版本下载相应的安装包,如图3所示。
图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所示。
图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所示。
图5 选择MySQL版本
在版本选择界面中,选择 “mysql-8.0” 版本(或其他你想要的版本)并按 Enter,如图6所示。
图6 选择MySQL版本
使用箭头键导航到 “Ok” 选项,按下 Enter
键,确认并保存配置,如图7所示。
图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所示。
图8 输入MySQL root用户密码
在下面提示直接按下 Enter 键,如图9所示。
图9 确认提示信息
选择“Use Strong Password Encryption (RECOMMENDED)”,然后按下 Enter 键,如图10所示。
图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所示。
图11 下载APT仓库包
然后根据系统版本下载相应的安装包,如图12所示。
图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所示。
图13 选择MySQL版本
在版本选择界面中,选择 “mysql-8.4-lts” 版本(或其他你想要的版本)并按 Enter,如图14所示。
图14 选择MySQL版本
使用箭头键导航到 “Ok” 选项,按下 Enter
键,确认并保存配置,如图15所示。
图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所示。
图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所示。
图17 选择MySQL版本
在版本选择界面中,选择 “mysql-8.4-lts” 版本(或其他你想要的版本)并按 Enter,如图18所示。
图18 选择MySQL版本
使用箭头键导航到 “Ok” 选项,按下 Enter
键,确认并保存配置,如图19所示。
图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所示。
图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所示。
图21 下载SUSE仓库包
然后根据系统版本下载相应的安装包,如图22所示。
图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