当我运行以下命令时无法安装 mysql:
sudo apt install mysql-server mysql-client
错误是:
Processing triggers for libc-bin (2.23-0ubuntu9) ... Processing triggers for man-db (2.7.5-1) ... Setting up mysql-common (5.7.19-0ubuntu0.16.04.1) ... update-alternatives: error: alternative link /etc/mysql/my.cnf is already managed by my.cnf.bak dpkg: error processing package mysql-common (--configure): subprocess installed post-installation script returned error exit status 2 Errors were encountered while processing: mysql-common E: Sub-process /usr/bin/dpkg returned an error code (1)
答案1
好的!
我花了几天时间尝试不同的方法,这似乎对我有用。事实上,这句话update-alternatives: error: alternative link /etc/mysql/my.cnf is already managed by my.cnf.bak
给我指明了正确的方向。请注意,我在 chromebook 上通过 crouton 运行 debian。这可能意味着至少有一个嵌套的 linux 安装,这可能会使你的情况有所不同。这正是对我有用的。
我已经多次通过 apt-get 清除了每个 mysql 文件,逐个删除了文件,甚至用 dpkg 删除了它们,但错误仍然出现。最后搜索了 my.cnf.bak
`find / my.cnf.bak | grep my.cnf.bak`
并在 中找到它/var/lib/dpkg/alternatives
。这段时间我一直在 中搜索/etc/alternatives
。无论如何,我最终删除了这个文件并重新安装了 mysql-server。现在一切都好了。
答案2
首先删除所有 MySQL 文件:
sudo rm -rf /var/lib/mysql
然后尝试再次安装:
sudo apt install mysql-server mysql-client
如果失败了,也可以先重新配置一下。首先,找到 MySQL 的类型版本:
apt search mysql-server
然后重新配置(更改版本):
dpkg-reconfigure --force mysql-server-5.7 mysql-server-core-5.7
答案3
查找文件 my.cnf.bak
find / -name "my.cnf.bak"
将其重命名为 my.cnf 或删除它(无论您是否要使用它)
然后
apt-get purge mysql*
apt-get install mysql-server
对我来说它解决了这个问题!