Mysql

如何重新安裝損壞的mysql包

  • June 27, 2021

嘗試修復損壞的 mysql 安裝,這發生在從 debian 6.0 升級到 7.0 之後。我的 /etc/apt/sources.list 中有 dotdeb.org 包。

root@ginger:/var/log/mysql# apt-get install mysql-client
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
mysql-server-5.5 : Depends: mysql-client-5.5 (>= 5.5.31+dfsg-0+wheezy1) but 5.5.30-1~dotdeb.0 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

執行 apt-get -f install 結果:

root@ginger:/var/log/mysql# apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
 libfont-freetype-perl libfontenc1 libgmp3c2 libgsf-1-114 libgsf-1-common libpython2.6 libxcb-render-util0
 libxfont1 mysql-client-core-5.5 xfonts-encodings xfonts-utils
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
 mysql-client-5.5
Suggested packages:
 libterm-readkey-perl
The following packages will be upgraded:
 mysql-client-5.5
1 upgraded, 0 newly installed, 0 to remove and 141 not upgraded.
178 not fully installed or removed.
Need to get 1,923 kB of archives.
After this operation, 6,752 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://ftp.us.debian.org/debian/ wheezy/main mysql-client-5.5 amd64 5.5.31+dfsg-0+wheezy1 [1,923 kB]
Fetched 1,923 kB in 0s (2,323 kB/s)
Reading changelogs... Done
(Reading database ... 36477 files and directories currently installed.)
Preparing to replace mysql-client-5.5 5.5.30-1~dotdeb.0 (using .../mysql-client-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Unpacking replacement mysql-client-5.5 ...
dpkg: error processing /var/cache/apt/archives/mysql-client-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb (--unpack):
trying to overwrite '/usr/bin/mysqlcheck', which is also in package mysql-client-core-5.5 5.5.30-1~dotdeb.0
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/mysql-client-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@ginger:/var/log/mysql#

知道如何刪除和全新安裝 mysql 嗎?

首先通過以下命令獲取超級使用者權限。 sudo -i會給你root訪問權限。

以下對我有用:

apt-get -f install -o Dpkg::Options::="--force-overwrite"

然後是:

apt-get purge mysql\*
rm -rf /var/lib/mysql
rm -rf /etc/mysql
dpkg -l | grep -i mysql
apt-get clean
updatedb
apt-get install mysql-client-core-5.5  mysql-client-5.5 mysql-common mysql-server-5.5

對於 MySql5.6 使用以下

apt-get install mysql-client-core-5.6 mysql-client-5.6 mysql-server-5.6

確保備份所有數據,因為這將刪除所有內容。

我在這裡找到了這個解決方案

引用自:https://serverfault.com/questions/526693