Ubuntu 22.04。
删除了 mysql-server,然后尝试在我的计算机上重新安装 mysql-server。
在卸载过程中,我选择保留现有数据库。
重新安装过程失败,并显示安装已冻结的消息。FROZEN 是一个文件名,创建它是为了停止安装,直到用户干预以澄清情况。一旦用户干预,用户就可以删除该文件并继续安装。
我一直在运行 mysql 8.1,我相信默认安装是 8.0。FROZEN 文件表示可能是我现有的数据库与正在安装的版本不兼容。因此,我删除了我的数据库文件,因为我在卸载之前已将它们导出作为备份。
然后我
- 删除了符号链接文件 FROZEN
- 按照 FROZEN 自述文件中的说明运行 sudo dpkg-reconfigure mysql-server
导致
/usr/sbin/dpkg-reconfigure:mysql-server 已损坏或未完全安装
我尝试过多种方法来退出安装(删除/清除)以及继续安装(更新/升级/安装)
我不知道接下来该怎么做。尝试通常会导致一些错误,并最终因“错误太多”而失败。还有“无法停止 mysql.service:单元 mysql.service 未加载。”
非常感谢您的帮助。感谢您的时间和关注
约翰
答案1
MySQL 的安装过程非常挑剔,如果它认为可能存在现有安装,通常会拒绝继续。虽然这在理论上听起来像是一种不错的预防措施,但实施起来却“不完整”。通常发生的情况是,MySQL 安装过程发现存在来自先前安装的配置或数据目录,并且放弃,而没有实际检查目录是否正在使用。
为了在您的机器上安装 MySQL,您需要删除或重命名任何残留的 MySQL 目录,然后重新安装,然后恢复您需要的任何配置文件和/或数据库。
该过程可以像这样完成:
- 连接到服务器
- 重命名现有的 MySQL 目录:
笔记:为简单起见,本示例将重命名原始目录。如果您根本不需要目录的内容,请随意将 替换为 。但是,请注意,当您发出 时,无法sudo mv /var/lib/mysql /var/lib/mysql-old sudo mv /etc/mysql /etc/mysql-old
mv
撤消。rm -Rf
rm
- 删除现有的 MySQL 日志目录:
sudo rm -Rf /var/log/mysql
- (可选)删除 MySQL 用户和组:
笔记:这是可选的,因为我还没有看到当用户或组已经存在时 MySQL 安装失败。sudo deluser --remove-home mysql sudo delgroup mysql
- (重新)安装 MySQL:
sudo apt install mysql-server
- 配置新安装:
sudo mysql_secure_installation
- 确认该功能有效:
sudo mysql
只要到目前为止一切都正常,您现在就可以恢复任何以前的.conf
设置和数据库。根据mysql-old
步骤 1 中重命名的目录的大小,请务必在最后一步存档和/或删除以前的安装文件。