Ubuntu20.04安装mysql问题解析

本文记录了在Ubuntu系统中遇到的MySQL启动失败、卸载卡死及dpkg被中断的问题。通过分析,发现是MySQL相关进程未完全关闭导致卸载卡死。解决方案包括:首先,终止相关进程;然后,使用命令清理dpkg状态;最后,更新系统并升级软件。在实际操作中,需要注意避免因升级命令导致的无限循环。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

1、启动mysql失败,安装和卸载时卡死,如何解决?

2、卸载时提示文件被另一个进程占用?

3、dpkg 被中断,如何解决?


1 卡死问题解决

        具体如何按步骤卸载mysql请参考我上篇文章《Ubuntu 安装MySQL8.0.29 设置不区分大小写和完全卸载MySQL》

        笔者由于系统依赖误删导致mysql数据库必须重装,按照命令后重装数据库也无报错提醒,但是启动数据库失败,只能重装数据库,但这次重装数据库就碰到了问题

        使用命令:sudo apt-get autoremove mysql* --purge

         如上图所示,在卸载页面卡死,等了十多分钟也无响应,笔者无奈使用ctrl+z中断退出

 

         这样就导致了问题2(卸载时提示文件被另一个进程占用?),再次使用命令时就会提示/var/lib/dpkg/lock-frontend或者/var/lib/dpkg/lock被另一个进程占用,使用kill命令杀掉提示的进程后就会出现问题3(dpkg 被中断,如何解决?)

        根据网上找到的资料,解决问题需要进行三个命令:

sudo rm /var/lib/dpkg/updates/*
#重新建立这些资料
sudo apt-get update  
#更新你的电脑里面已安装的软件的明细,根据软件的明细更新软件到最新版     
sudo apt-get upgrade

        实际使用中可以先使用前两个命令,dpkg就可以正常使用了,第三个更新软件视情况而定,笔者本次就因为使用第三个命令陷入了俄罗斯套娃的情况中

        1、使用sudo apt-get upgrade更新导致卡死

        2、卡死后使用ctrl+z退出导致文件被占用

        3、解决文件被占用,dkpg命令被中断,需要修复

        4、执行步骤一,陷入了俄罗斯套娃

2 为何出现了mysql卸载卡死情况

        使用ps -ef | grep mysql 命令发现虽然mysql数据库没启动成功,但是有部分功能已启动,这是导致了卸载mysql的命令执行时卡死,只需要把mysql相关的进程全部kill掉,再次重新卸载就可以了,这个问题困扰了笔者接近两个小时,特意记载下来防止后来者跳坑

### 准备工作 为了在Ubuntu 20.04离线环境中成功安装MySQL 8,需提前准备好所有必要的软件包并确保这些文件可以被顺利传输到目标机器上。这包括但不限于MySQL服务器及其依赖项。 ### 下载MySQL 8离线安装包 从官方或其他可信资源获取适用于Ubuntu 20.04MySQL 8离线安装包`mysql-server_8.0.29-1ubuntu20.04_amd64.deb-bundle.tar`[^2]。此压缩包内含多个`.deb`格式的二进制文件,用于完成整个数据库系统的部署。 ### 解压安装包 使用终端命令解压已下载的tarball文件: ```bash sudo tar -xvf mysql-server_8.0.29-1ubuntu20.04_amd64.deb-bundle.tar ``` 上述操作会释放一系列Debian软件包至当前目录下[^4]。 ### 安装前准备 确认系统已经更新并且具备网络连接能力以便于首次配置期间可能需要在线验证密钥或其它组件;对于完全断网的情况,则应事先手动解决任何潜在依赖关系问题。 ### 手动处理依赖关系 由于是离线环境,在执行下一步之前应该先检查是否有未满足的依赖条件,并尝试通过预先下载相应库来解决问题。特别是注意那些与操作系统版本紧密关联的基础运行时支持库[^3]。 ### 开始安装过程 按照一定顺序依次安装各个分离出来的.deb文件,通常建议遵循如下原则:首先是客户端工具、其次是核心服务端程序以及其余辅助功能模块。具体可参照以下示例指令集(实际路径取决于个人存放位置): ```bash sudo dpkg -i *.deb ``` 这条命令将会遍历当前文件夹下的所有.deb结尾的文件并逐一进行安装。如果遇到错误提示关于某些特定包无法解析依赖性,请单独针对该部分采取措施直至全部顺利完成为止[^1]。 ### 配置初始化设置 一旦所有必需的服务都已经被正确加载入系统之后,就可以启动mysqld进程并通过安全脚本进一步定制化实例参数了: ```bash sudo service mysql start sudo mysql_secure_installation ``` 以上步骤能够帮助建立初始root账户密码和其他基本的安全选项设定[^5]。 ### 测试新安装的服务状态 最后一步是要验证MySQL是否正常运作,可以通过登录控制台来进行简单测试: ```sql mysql -u root -p ``` 输入刚才设立好的管理员口令后即进入交互界面,此时便证明此次离线安装流程圆满结束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zfy_220

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值