mySQL 安装导致安装冻结。尝试修复失败。我无法继续安装或卸载

mySQL 安装导致安装冻结。尝试修复失败。我无法继续安装或卸载

Ubuntu 22.04。

删除了 mysql-server,然后尝试在我的计算机上重新安装 mysql-server。

在卸载过程中,我选择保留现有数据库。

重新安装过程失败,并显示安装已冻结的消息。FROZEN 是一个文件名,创建它是为了停止安装,直到用户干预以澄清情况。一旦用户干预,用户就可以删除该文件并继续安装。

我一直在运行 mysql 8.1,我相信默认安装是 8.0。FROZEN 文件表示可能是我现有的数据库与正在安装的版本不兼容。因此,我删除了我的数据库文件,因为我在卸载之前已将它们导出作为备份。

然后我

  1. 删除了符号链接文件 FROZEN
  2. 按照 FROZEN 自述文件中的说明运行 sudo dpkg-reconfigure mysql-server

导致

/usr/sbin/dpkg-reconfigure:mysql-server 已损坏或未完全安装

我尝试过多种方法来退出安装(删除/清除)以及继续安装(更新/升级/安装)

我不知道接下来该怎么做。尝试通常会导致一些错误,并最终因“错误太多”而失败。还有“无法停止 mysql.service:单元 mysql.service 未加载。”

非常感谢您的帮助。感谢您的时间和关注

约翰

答案1

MySQL 的安装过程非常挑剔,如果它认为可能存在现有安装,通常会拒绝继续。虽然这在理论上听起来像是一种不错的预防措施,但实施起来却“不完整”。通常发生的情况是,MySQL 安装过程发现存在来自先前安装的配置或数据目录,并且放弃,而没有实际检查目录是否正在使用。

为了在您的机器上安装 MySQL,您需要删除或重命名任何残留的 MySQL 目录,然后重新安装,然后恢复您需要的任何配置文件和/或数据库。

该过程可以像这样完成:

  1. 连接到服务器
  2. 重命名现有的 MySQL 目录:
    sudo mv /var/lib/mysql /var/lib/mysql-old
    sudo mv /etc/mysql /etc/mysql-old
    
    笔记:为简单起见,本示例将重命名原始目录。如果您根本不需要目录的内容,请随意将 替换为 。但是,请注意,当您发出 时,无法mv撤消。rm -Rfrm
  3. 删除现有的 MySQL 日志目录:
    sudo rm -Rf /var/log/mysql
    
  4. (可选)删除 MySQL 用户和组:
    sudo deluser --remove-home mysql
    sudo delgroup mysql
    
    笔记:这是可选的,因为我还没有看到当用户或组已经存在时 MySQL 安装失败。
  5. (重新)安装 MySQL:
    sudo apt install mysql-server
    
  6. 配置新安装:
    sudo mysql_secure_installation
    
  7. 确认该功能有效:
    sudo mysql 
    

只要到目前为止一切都正常,您现在就可以恢复任何以前的.conf设置和数据库。根据mysql-old步骤 1 中重命名的目录的大小,请务必在最后一步存档和/或删除以前的安装文件。

相关内容