背景:两台centos7.9,1台190做yum源仓库,另一台191测试,ftp,阿里云镜像源,mysql8.0.27
1. 190机安装ftp
yum install -y vsftpd
mkdir /var/ftp/mysql80
2. 去阿里云镜像源准备rpm包
mkdir -p /data/files
cat >> /data/files/mysql_rpm.txt << EOF
https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-community-server-8.0.27-1.el7.x86_64.rpm
https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-community-client-8.0.27-1.el7.x86_64.rpm
https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-community-common-8.0.27-1.el7.x86_64.rpm
https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-community-libs-8.0.27-1.el7.x86_64.rpm
https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-community-client-plugins-8.0.27-1.el7.x86_64.rpm
https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-community-libs-compat-8.0.27-1.el7.x86_64.rpm
EOF
wget -P /var/ftp/mysql80 -b -i /data/files/mysql_rpm.txt
注:
- wget -P 指定下载存放的位置,-b后台下载,会在指定目录下有一个wget日志文件可以看进度记录,-i 是按照文件的内容下载
3. 创建依赖关系
yum install -y createrepo
createrepo /var/ftp/mysql80
ll /var/ftp/mysql80

4. 启动ftp
systemctl start vsftpd
5. 191机自建yum源文件
vim /etc/yum.repos.d/mysql80.repo
mysql80
name=190ftp
baseurl=ftp://192.168.1.190/mysql80
gpgcheck=0
enabled=1
# 刷新缓存
yum repolist
yum makecache
# 检查yum源里目前是否只有mysql80一个版本是启用状态
yum repolist enabled | grep -i mysql
注:
- baseurl是搭建的仓库地址
- gpgcheck是GPG校验模式,1为启用,yum会下载数字签名校验包的完整性和真实性,不通过时不安装,0不启用。使用的是阿里云的镜像源,默认信任。
- enabled是否启用这个版本,0不启用时yum不会下载
- 如果yum源里当前不是只有mysql80启用,则先禁用其他版本。如:yum-config-manager --disable mysql84-lts-community


6. 191机尝试安装
yum install -y mysql-community-server
systemctl enable mysqld --now
systemctl status mysqld
# 获取密码
tail -n 20 /var/log/mysqld.log
# 登录
mysql -uroot -p
# 改密码
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '新密码';
# 输入命令测试
show databases;
7.附加
7.1 官方源准备
# 新背景:如果是使用mysql官方源,假设这次是mysql84(2026年后84版本才是长期支持版本),则将第2步改为如下,其他不变
mkdir /var/ftp/mysql84
yum install -y https://repo.mysql.com//mysql84-community-release-el7-4.noarch.rpm
# 检查目前yum源启用的包
yum repolist all |grep -i mysql
# 禁用其他包,启用mysql-8.4-lts-community,mysql-connectors-community和mysql-tools-8.4-lts-community
yum-config-manager --disable mysql-tools-community
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql-8.4-lts-community
yum-config-manager --enable mysql-connectors-community
yum-config-manager --enable mysql-tools-8.4-lts-community
# 校验启用的包是否是自己想要的
yum repolist enabled | grep -i mysql
7.2 下载mysql安装包并创建依赖
# 仅下载不安装(yum安装完默认会删除安装包)
yum install -y --downloadonly mysql-community-server
# 根据下载日志,查找包的位置,然后一一复制到/var/ftp/mysql84
find / -name "mysql-community-client-plugins-8.4.10-1.el7.x86_64.rpm"
# 根据上一步得知存放目录在/var/cache/yum/x86_64/7/mysql-8.4-lts-community/packages/
cp /var/cache/yum/x86_64/7/mysql-8.4-lts-community/packages/*.rpm /var/ftp/mysql84
# 检查包
ll /var/ftp/mysql84
# 创建依赖
createrepo /var/ftp/mysql84
# 重启vsftp
systemctl restart vsftpd

至此用官方源搭建已经完成,后续使用可以看第五点"5. 191机自建yum源文件"