ubuntu16升级到18后,mysql升级失败的解决方案

背景

有台ubuntu16的机器升级了,然后mysql一直提示要升级,结果升级出了问题,而且导致所有apt安装都报错apt-get --fix-broken install,然后运行apt-get --fix-broken install又报错没办法把当前运行的mysql关掉之类的,通过systemctl stop mysql,而且查看进程已经没有mysql了,仍然这样。

调整ubuntu源

尝试自动修复

sudo apt-get install -f

失败后清理mysql相关软件包

sudo apt-get purge mysql-community-server mysql-community-server 

尝试清理并更新

sudo apt-get autoclean && sudo apt-get clean && sudo apt-get update 

结果报错,大致原因是redis deb有问题
请添加图片描述
一开始以为是ubuntu镜像源有问题,但是换成国内镜像仍然报错,然后想到其实这台机器是直接源码安装的redis,因此直接将/etc/apt/sources.list.d/redis*删除(自行操作时最好先移动到别的文件夹)
继续执行以下命令未报错

sudo apt-get autoclean && sudo apt-get clean && sudo apt-get update 

但在执行sudo apt-get autoremove的时候报错了

删除原来的升级记录,取消升级

关于如何将原来的升级记录以及安装包删除,以及出错问题修改,主要包括了

  1. 修改/var/lib/dpkg/info中的脚本,注释掉所有操作。比如,按照报错信息,我的提示是在pre_install阶段出错的,所以就把该文件夹下所有mysql开头prerm结尾的脚本全部注释掉,但对我来说没用
  2. 修改/var/lib/dpkg/status文件,这个文件包含了通过apt安装的软件信息,把mysql相关的都删掉,这个确实有用,但要注意是删掉包含mysql的软件包
  3. 执行apt-get autoremove,未报错
  4. 再执行别的apt install也未报错
    至于mysql,就没有再升级了

ubuntu换成清华源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list 
#注释掉原本的,换成
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse

具体见help文档https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

ubuntu配置redis源

sudo apt install lsb-release curl gpg
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

sudo apt-get update
sudo apt-get install redis

参考https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-linux/

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值