尝试在“Ubuntu 20.04”上安装“mysql”失败,导致我的系统处于未定义状态。我想回到原点重新开始,但“apt”和“dpkg”的“remove”和“purge”都失败了。“install”失败:“E:软件包“mysql”没有安装候选项”。这看起来像是一个死锁,所有出口都被禁止:
fr@hatchbox-3:$ which mysql
/usr/bin/mysql
fr@hatchbox-3:$ /usr/bin/mysql --version
/usr/bin/mysql Ver 8.0.33-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))
fr@hatchbox-3:$ mysql -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql/mysqld.sock' (2)
# As expected. At the current stage I don't have mysqld.
fr@hatchbox-3:$ sudo apt -s remove mysql # 'purge': response is identical
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'mysql' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
fr@hatchbox-3:$ sudo dpkg --simulate --remove mysql
dpkg: warning: ignoring request to remove mysql which isn't installed
我还有哪些其他选择可以清除 mysql 的残留?我最不愿意做的是使用散弹枪,把名称中带有“mysql”的一切都炸掉。一旦清除了“mysql”残留,我面临的挑战是从几个下载中挑选出正确的下载,可能包括以下下载:
fr@hatchbox-3:$ sudo apt-cache search mysql | grep -w mysql | grep 8\.0
mysql-client-8.0 - MySQL database client binaries
mysql-client-core-8.0 - MySQL database core client binaries
mysql-server-8.0 - MySQL database server binaries and system database setup
mysql-server-core-8.0 - MySQL database server binaries
mysql-source-8.0 - MySQL source
mysql-testsuite-8.0 - MySQL 8.0 testsuite
pike8.0-mysql - MySQL modules for Pike
mysql-shell - MySQL Shell (part of MySQL Server) 8.0
感谢任何指导
弗雷德里克
答案1
谢谢 fku、mmp、hmp。你们的指导很成功。我摆脱了麻烦的东西。mmp 建议安装 mysql-server-8.0。这样能给我一个功能齐全的数据管理系统吗?我的意思是,我不需要 mysql-client-8.0 吗?让我稍微回顾一下:这个练习的最终目标是在旧机器坏掉后继续进行数据库管理。我现在有一台运行 Ubuntu 20.04 的新机器和一个带有大约八十个 myisam 表的备份磁盘。广泛的研究让我担心 mysql-8.0 不会读取 myisam 格式。mysql-5.7 可以读取并且仍然可用,但不适用于 Ubuntu 20——官方是这样。这需要一些黑客攻击和论坛帮助。一旦我的数据采用可移植传输格式(如 CSV),我就可以恢复工作,最终使用 PostgrSQL。如果有 myisam-to-csv 工具,我还没有找到,请尝试一下。