开发团队需要一套数据库服务器环境来测程序,现在需要运维人员协助在测试机Centos7.6上安装好==MySQL-5.6.43==版本用于前期迁移准备工作同时==配置好本地yum源和外网源==方便后续软件包安装。任务要求
配置本地yum源和网络yum源安装MySQL软件,版本为==5.6.43==任务拆解
yum源配置MySQL数据库软件安装课程目标
[x]了解yum源安装软件包的优点[x]了解常见的外网yum源[]==掌握本地和网络yum源的配置==[]能够使用yum工具安装软件包知识储备一、yum源概述㈠yum源的作用
软件包管理器,类似360的软件管家
㈡yum源的优点
能够解决软件包之间的依赖关系,提高运维人员的工作效率。㈢yum源的分类1、本地yum源
yum仓库在本地(系统光盘/镜像文件)2、网络yum源
yum仓库不在本地,在远程服务器
②将光盘挂载到本地目录
/mnt操作系统默认的挂载点
mount[挂载选项]需要挂载的设备挂载点
手动挂载光盘到/mntlsblk查看当前系统所有的设备文件
mount-oro/dev/sr0/mnt注意:手动挂载后,系统重启需要再次手动挂载
选项说明:-o:挂载方式,ro代表以readonly=>只读的方式进行挂载rw代表以read/write=>读写的方式进行挂载
③开机自动挂载
/etc/rc.local,属于系统的开机启动文件。系统启动后,会自动加载并执行这个文件
修改/etc/rc.local文件
/etc/rc.local操作系统开机最后读取的一个文件
写入一行配置信息到该文件echo"mount-oro/dev/sr0/mnt">>/etc/rc.local
如下[root@yuchao-linux01~]#echo"mount-oro/dev/sr0/mnt">>/etc/rc.local[root@yuchao-linux01~]#[root@yuchao-linux01~]#[root@yuchao-linux01~]#cat/etc/rc.local
touch/var/lock/subsys/localmount-oro/dev/sr0/mnt[root@yuchao-linux01~]#
2、修改配置文件指向本地仓库①备份yum仓库文件
[root@yuchao-linux01~]#cd/etc/yum.repos.d/[root@yuchao-linux01yum.repos.d]#tar-zcfrepo.tgz*.repo[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#lsCentOS-Base.repoCentOS-Debuginfo.repoCentOS-Sources.repoepel-testing.reporpmorphan-1.14-1.noarch.rpmCentOS-Base.repo.bakCentOS-fasttrack.repoCentOS-Vault.repolocal.repoCentOS-CR.repoCentOS-Media.repoepel.reporepo.tgz[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#rm-rf*.repo[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#lsCentOS-Base.repo.bakrepo.tgzrpmorphan-1.14-1.noarch.rpm[root@yuchao-linux01yum.repos.d]#
①配置文件存放路径
[root@yuchao-linux01~]#[root@yuchao-linux01~]#ls/etc/yum.repos.d/-d/etc/yum.repos.d/
②修改配置文件
[root@yuchao-linux01~]#ls/etc/yum.repos.d/-d/etc/yum.repos.d/[root@yuchao-linux01~]#vim/etc/yum.repos.d/local.repo[root@yuchao-linux01~]#[root@yuchao-linux01~]#[root@yuchao-linux01~]#cat/etc/yum.repos.d/local.repo[local]name=localyumrepobaseurl=file:///mntenabled=1gpgcheck=0
[root@yuchao-linux01~]#
③验证本地yum源
[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#yumcleanallLoadedplugins:fastestmirror,langpacksBadidforrepo:root@yuchao-linux01~,byte=@4Cleaningrepos:localCleaningupeverythingMaybeyouwant:rm-rf/var/cache/yum,toalsofreeupspacetakenbyorphaneddatafromdisabledorremovedreposCleaninguplistoffastestmirrors[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#yummakecacheLoadedplugins:fastestmirror,langpacksBadidforrepo:root@yuchao-linux01~,byte=@4Determiningfastestmirrorslocal|3.6kB00:00:00(1/4):local/group_gz|166kB00:00:00(2/4):local/filelists_db|3.1MB00:00:00(3/4):local/primary_db|3.1MB00:00:00(4/4):local/other_db|1.3MB00:00:00MetadataCacheCreated[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#yumlist|wc-lBadidforrepo:root@yuchao-linux01~,byte=@44037[root@yuchao-linux01yum.repos.d]#
[root@yuchao-linux01yum.repos.d]#yumreinstalllrzsz
㈡网络yum源配置
网络YUM源的分类①使用比较知名平台的YUM源(阿里云、腾讯、清华)
②有些特定软件(如Nginx、MySQL、Zabbix等等)需要根据官网文档自定义网络YUM源
因此需要额外配置yum仓库,去寻找我们需要的nginx这个软件包。1、主机需要访问互联网
同理,配置mysql的yum源,也是这样。②基础软件网络源(重点)base源
100%[==========================================================================================>]2,523--.-K/sin0s
2022-02-0714:36:21(534MB/s)-‘/etc/yum.repos.d/CentOS-Base.repo’saved[2523/2523]
[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#lsCentOS-Base.repoCentOS-Base.repo.baklocal.reponginx.reporepo.tgzrpmorphan-1.14-1.noarch.rpm
epel源
简介
EPEL(ExtraPackagesforEnterpriseLinux),是由FedoraSpecialInterestGroup维护的EnterpriseLinux(RHEL、CentOS)中经常用到的包。
100%[==========================================================================================>]664--.-K/sin0s
2022-02-0714:39:28(212MB/s)-‘/etc/yum.repos.d/epel.repo’saved[664/664]
[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#lsCentOS-Base.repoCentOS-Base.repo.bakepel.repolocal.reponginx.reporepo.tgzrpmorphan-1.14-1.noarch.rpm[root@yuchao-linux01yum.repos.d]#
生成缓存,可以使用了
yumcleanall
yummakecache
③软件指定的源
刚才我们发现,在系统iso镜像光盘文件里,找不到如nginx这样的软件包超哥教的是,使用阿里云yum源,公共yum仓库以及epel仓库,可以找到nginx软件。问题是,如果阿里云的yum仓库更新不及时,或者你压根都不信任阿里云yum仓库你还可以直接选择该软件官网提供的yum仓库,可以下载rpm包。如直接配置nginx官网的仓库url。3、安装软件,自动生成repo仓库
我们发现使用yum仓库,就是
1.写repo文件
2.确保可以上网
3.yum自动去repo文件里的url找软件。
rpm-ivhmysql-community-release-el7.rpm
卸载该软件,repo文件也会自动删除[root@yuchao-linux01yum.repos.d]#rpm-emysql80-community-release[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#lsCentOS-Base.repoepel.repomysql-community-release-el7.rpmrepo.tgzCentOS-Base.repo.baklocal.reponginx.repo
4、总结
本地yum源配置核心本地需要有软件仓库——>光盘挂载到系统某个目录上(mount-oro/dev/sr0/mnt)告诉yum工具去哪个仓库找软件包——>修改配置(/etc/yum.repos.d/xxx.repo)网络yum源配置核心当前主机必须能够访问互联网(外网源)告诉yum工具去哪个仓库找软件包——>修改配置(/etc/yum.repos.d/xxx.repo)==配置方法2种==:直接修改配置文件;下载rpm包,安装软件包自动帮我配置如果多个仓库里有相同的软件包,==高版本优先==多个yum源,可以指定优先级,但是==需要安装插件==,修改配置文件完成㈣自建yum仓库
思考1:什么情况下需要自建yum仓库?(我们需要离线安装某软件包时,在一些企业里的断网环境)
其实说白了,yum仓库是什么?就是一个存放了很多rpm软件包的地儿,然后你告诉yum去这里找就行。
思路:
创建一个目录来保存相应的软件需要在该目录下生成repodata目录修改配置文件指向本地自建仓库1、步骤
1.创建好一个目录[root@yuchao-linux01yum.repos.d]#mkdir/software
3.拷贝如下软件到自定义的目录[root@yuchao-linux01yum.repos.d]#cp/mnt/Packages/samba*/software/[root@yuchao-linux01yum.repos.d]#cp/mnt/Packages/libevent-2.0.21-4.el7.x86_64.rpm/software/[root@yuchao-linux01yum.repos.d]#cp/mnt/Packages/libtalloc-2.1.10-1.el7.x86_64.rpm/software/[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#
4.在自定义的目录下,创建repodata,让他成为一个yum可以识别的仓库[root@yuchao-linux01software]#yuminstallcreaterepo-yLoadedplugins:fastestmirror,langpacksBadidforrepo:root@yuchao-linux01~,byte=@4Loadingmirrorspeedsfromcachedhostfile
5.关闭所有的网络仓库,让yum只能读取自建的yum仓库[root@yuchao-linux01software]#cd/etc/yum.repos.d/[root@yuchao-linux01yum.repos.d]#lsCentOS-Base.repoepel.repomysql-community-release-el7.rpmrepo.tgzCentOS-Base.repo.baklocal.reponginx.reporpmorphan-1.14-1.noarch.rpm[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#mkdirbak-repo[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#mv*.repobak-repo/[root@yuchao-linux01yum.repos.d]#lsbak-repoCentOS-Base.repo.bakmysql-community-release-el7.rpmrepo.tgzrpmorphan-1.14-1.noarch.rpm[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#
6.自建repo文件[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#vim/etc/yum.repos.d/myself.repo[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#catmyself.repo[myself]name=myselfyumrepoenabled=1baseurl=file:///softwaregpgcheck=0
[root@yuchao-linux01yum.repos.d]#
7.生成yum缓存,加载repo文件root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#yumcleanallLoadedplugins:fastestmirror,langpacksCleaningrepos:myselfCleaningupeverythingMaybeyouwant:rm-rf/var/cache/yum,toalsofreeupspacetakenbyorphaneddatafromdisabledorremovedreposCleaninguplistoffastestmirrors[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#yummackcacheLoadedplugins:fastestmirror,langpacksNosuchcommand:mackcache.Pleaseuse/usr/bin/yum--help[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#yuminstallsamba
8.验证samba是否安装[root@yuchao-linux01yum.repos.d]#rpm-qisamba
解决需求,安装mysql5.6.43
在超哥讲了这么多知识储备后,现在让你去解决这个需求,会了吗?1.用本地光盘仓库安装mysql2.用网络仓库安装mysql一、配置本地yum源㈠挂载镜像到本地
去除其他无用repo文件先
[root@yuchao-linux01yum.repos.d]#lsbak-repolocal.repo[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#catlocal.repo[local]name=localyumrepobaseurl=file:///mntenabled=1gpgcheck=0
[root@yuchao-linux01~]#清空缓存
[root@yuchao-linux01yum.repos.d]#yumcleanall
看看是否可以安装mysql,请注意我们要求安装的是指定版本MySQL-5.6.43[root@yuchao-linux01yum.repos.d]#yuminstallmysql-5.6.43Loadedplugins:fastestmirror,langpacksBadidforrepo:root@yuchao-linux01~,byte=@4LoadingmirrorspeedsfromcachedhostfileNopackagemysql-5.6.43available.Error:Nothingtodo
发现本地光盘里是没有这个mysql指定版本的,找不到。
如果你直接安装mysql这个名字的软件包,出现如下情况
因此,本地光盘源,这个没法解决问题。二、使用阿里云提供的yum仓库
三、配置mysql官网yum仓库
我们会发现,多种配置yum源的方式,是用来解决各种常见下的问题,因此你都得掌握这些技能,能应对工作里不同的场景。
像这个需要安装特定版本的需求,配置官网的yum源,是最靠谱的方式。
安装mysql官方仓库
100%[==============================================================================================>]10,928--.-K/sin0s
2022-02-0715:48:38(357MB/s)-‘mysql80-community-release-el7-5.noarch.rpm’saved[10928/10928]
修改mysql仓库url
当前这个mysql仓库的地址指向的是8版本,我们得改为合适我们需要的5.6.43版本。
[root@yuchao-linux01yum.repos.d]#headmysql-community.repo
并且需要关闭其他的仓库版本。
安装mysql-5.6.43版本
安装过程
[root@yuchao-linux01~]#yuminstallmysql-community-server-5.6.43
[root@yuchao-linux01yum.repos.d]#lltotal28drwx-wx-wx2rootroot202Feb716:08bak-repo-rw--w--w-1rootroot96Feb714:14local.repo-rw--w--w-1rootroot10928Jan1418:21mysql80-community-release-el7-5.noarch.rpm-rw-r--r--1rootroot191Feb716:03mysql-community.repo-rw-------1rootroot2253Feb716:02mysql-community.repo.bak-rw-r--r--1rootroot2132Jan1303:00mysql-community-source.repo[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#yuminstallmysql-community-server-5.6.43
安装成功
四、做好离线安装工作
因为是网络安装,可能因为网络波动,安装失败,或者过久,因此我们去客户现场,或者其他情况,可以进行离线安装。
因此可以给yum配置好缓存功能,不仅是自动化安装rpm,还能够保存下来rpm包。
[root@yuchao-linux01yum.repos.d]#catmysql-community.repo
找到rpm包缓存
[root@yuchao-linux01~]#ls/var/cache/yum/x86_64/7/mysql56/packages/-ltotal84560-rw--w--w-1rootroot21670016Jan52021mysql-community-client-5.6.51-2.el7.x86_64.rpm-rw--w--w-1rootroot263164Jan192019mysql-community-common-5.6.43-2.el7.x86_64.rpm-rw--w--w-1rootroot2347880Jan52021mysql-community-libs-5.6.51-2.el7.x86_64.rpm-rw--w--w-1rootroot62298664Jan192019mysql-community-server-5.6.43-2.el7.x86_64.rpm
任务总结
1.搞清楚需求
2.拆解任务
3.知识储备
4.部署实践
5.验证总结验证mysql5.6.43使用
yum扩展补充1、yum仓库优先级
问:如果有多个仓库,是否可以设置yum源的优先级设定?
可以设置,但是需要安装插件yum-plugin-priorities。安装完插件后,只需要在yum源配置文件*.repo里指定优先级即可比如当你同时有epel仓库,又额外指定了某软件repo仓库,默认epel里的软件版本较低,你可以给自定义的软件仓库添加优先级。1.要先安装优先级插件,通过阿里云仓库装[root@yuchao-linux01yum.repos.d]#lltotal8drwx-wx-wx2rootroot289Feb716:45bak-repo-rw--w--w-1rootroot2523Dec262020CentOS-Base.repo-rw--w--w-1rootroot664Dec262020epel.repo
2.安装优先级插件[root@yuchao-linux01yum.repos.d]#yuminstall-yyum-plugin-priorities
3.只需要修改repo文件,加一个优先级参数即可[root@yuchao-linux01yum.repos.d]#[root@yuchao-linux01yum.repos.d]#catlocal.repo[local]name=localyumrepobaseurl=file:///mntenabled=1gpgcheck=0priority=1
2、yum缓存软件包
问:如果想把从网络源安装的软件包下载到本地方便后续使用,怎么做呢?
课后复习rpm命令
rpm-ivhpackage安装
rpm-epackage卸载
rpm-Uvh升级,如果已安装老版本,则升级;如果没安装,则直接安装
rpm-Fvh升级,如果已安装老版本,则升级;如果没安装,则不安装
rpm-ivh--force强制安装
rpm--nodeps忽略依赖关系
rpm-ql查看已经安装的软件的文件列表
rpm-qlppackage.rpm查看未安装的rpm包里的文件列表
rpm-qa查看已经安装的所有rpm包
rpm-qd查看软件的文档列表
rpm-qc查看软件的配置文件
rpm-qi查看软件的详细信息
rpm-qffilename查看文件来自哪个rpm包
rpm--importkey_file导入公钥用于检查rpm文件的签名
rpm-checksigpackage.rpm检查rpm包的签名
yum命令
默认是安装来自仓库里的软件,指定的是软件名字。多个包空格隔开;-y(取消交互)
或者
安装来自本地指定路径下的rpm包,而不是来自仓库
卸载软件包
更新仓库里所有比本机已经安装过的软件要的软件
指定升级的软件
搜索出所有软件名字或者软件描述包含“mysql”关键字的软件
找出模块由哪些软件包提供
搜索一个包含xeye关键字的软件包
清空之前的yum列表缓存
创建新的缓存
列出仓库里的所有软件包
列出已配置的软件仓库
查看未安装的软件包
@代表已经安装成功
查看已安装的包
查看包组
安装包组
删除包组
直接校验第三方提供的软件包
课后作业
1.CentOS默认是国外的yum源,为了加速下载,请配置国内公共yum源。
2.开发人员需要安装一些额外的软件包,需要运维协助配置epel源。