请求协助:CentOS 6.9环境下通过YUM升级MySQL 5.6至5.7遇阻
嘿,兄弟!我来帮你搞定CentOS 6.9升级MySQL 5.7时createrepo没生成预期目录的问题,咱们一步步来排查:
这是最基础的前提,要是系统里没装createrepo,肯定跑不起来。执行这条命令检查并安装:yum install -y createrepo
如果已经安装,会提示“已安装”;没装的话会自动完成安装。
你说已经下载了RHEL6的MySQL RPM包内容,先确认这些.rpm文件都在同一个目录里。比如你把它们放在/opt/mysql-5.7-rpms,先进入这个目录:cd /opt/mysql-5.7-rpms
然后查看有没有RPM文件:ls -l *.rpm
要是看不到任何.rpm后缀的文件,要么是你下载的内容不对,要么是放错了目录,得重新确认下载的是MySQL 5.7针对RHEL6的完整包(比如mysql-community-server、mysql-community-client这些核心组件包)。
在RPM包所在的目录下,一定要加上当前目录的标识.,执行这条命令:createrepo .
正常情况下,执行后不会报错,并且会生成一个名为repodata的目录——这就是你要的预期目录。如果没生成,留意一下命令行有没有报错信息,这很关键。
如果是用普通用户执行的createrepo,可能会因为权限不足无法创建目录。试试用sudo提升权限执行:sudo createrepo .
或者直接切换到root用户后再执行:su - rootcreaterepo .
CentOS 6.9的部分系统依赖比较老旧,createrepo需要python-deltarpm这个依赖包才能正常工作,先安装它:yum install -y python-deltarpm
装完之后再重新执行createrepo命令试试。
另外提前给你提个醒:MySQL 5.7对CentOS 6.9的glibc版本有要求,后续安装MySQL的时候可能会遇到libc相关的报错,到时候处理要谨慎,别轻易升级系统核心库,避免搞崩VPS。
内容的提问来源于stack exchange,提问作者Geoff L




