![在 Ubuntu 中安裝和刪除 MySQL 時遇到問題](https://rvso.com/image/1127635/%E5%9C%A8%20Ubuntu%20%E4%B8%AD%E5%AE%89%E8%A3%9D%E5%92%8C%E5%88%AA%E9%99%A4%20MySQL%20%E6%99%82%E9%81%87%E5%88%B0%E5%95%8F%E9%A1%8C.png)
我在 ubuntu15.04 中安裝或刪除部分安裝的 mysql-server-5.6 時遇到問題。我得到的錯誤是
$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
mysql-server-5.6
The following packages will be upgraded:
mysql-server-5.6
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
22 not fully installed or removed.
Need to get 0 B/5,501 kB of archives.
After this operation, 50.8 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Preconfiguring packages ...
Setting up mysql-common (5.6.24-0ubuntu2) ...
update-alternatives: error: alternative path /etc/mysql/my.cnf.fallback doesn't exist
dpkg: error processing package mysql-common (--configure):
subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
mysql-common
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB
localepurge: Disk space freed in /usr/share/doc/kde/HTML: 0 KiB
Total disk space freed by localepurge: 0 KiB
E: Sub-process /usr/bin/dpkg returned an error code (1)
有人可以幫我解決這個問題嗎?
答案1
嘗試進行清除,然後重新安裝。
sudo apt-get remove --purge mysql-\*
sudo apt-get install mysql-server mysql-client
更新 04.09.2018:
如果您因 MySQL 進程處於活動狀態而在卸載/安裝時遇到問題,您可以先嘗試此操作,然後再嘗試上面的操作:
sudo kill $(pgrep mysql)
答案2
我(linux noob)不得不挖掘的一個非常簡單的解決方案是建立文件。
nano /etc/mysql/my.cnf.fallback
並使用 mysql-common 5.7.11-0ubuntu6 包中的預設內容填充它。
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
!includedir /etc/mysql/conf.d/
答案3
清除/重新安裝對我來說也不起作用。我找到了以下“解決方案”:
我找不到mysql.cnf.fallback
“提供的文件”中列出的mysql-server-5.6
/mysql-client-5.6
也找不到有關該文件的任何其他資訊。
我複製/etc/mysql/my.cnf
到/etc/mysql/my.cnf.fallback
(猜測這將是一個相對不太重要的“後備”配置文件);
/etc/mysql/my.cnf
是一個符號鏈接,所以ls /etc/mysql
現在顯示:
my.cnf.fallback -> /etc/alternatives/my.cnf
my.cnf -> /etc/alternatives/my.cnf
然後包的安裝完成,沒有錯誤(因為大概“不存在”問題已“解決”)。
我還沒有遇到任何不良影響。
答案4
確認的。順序很重要。
apt remove mysql-* mariadb-* --purge
apt install mysql-common
apt install mariadb-common
apt install mariadb-server