Ubuntu 15.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)
誰かがこれを手伝ってくれますか?
パージを実行してから、再インストールしてください。
Sudo apt-get remove --purge mysql-\*
Sudo apt-get install mysql-server mysql-client
更新04.09.2018:
。Sudo kill $(pgrep mysql)
私(Linux初心者)が掘り下げなければならなかった非常に簡単な解決策は、ファイルを作成することです。
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/
見つかった ここapt-browse.org
パージ/再インストールも機能しませんでした。次の「解決策」を見つけました。
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
その後、パッケージのインストールはエラーなしで完了しました(おそらく「存在しない」問題は「解決済み」だったため)。
私は(まだ)悪影響に遭遇していません。
Mysql-server(5.7.14)をパージしようとしたときに同じ問題が発生しました。
My.cnf *ファイルが見つからない場合は、パッケージmysql-commonを再インストールできます。その後、両方を削除できます(-mysql-server&mysql-common)
これらのmy.cnf *ファイルはmysql-commonパッケージに属します(以下を参照)。
$ dpkg -L mysql-common | grep cnf
/etc/mysql/my.cnf.fallback
/etc/mysql/conf.d/mysql.cnf
1。 mysql-commonを再インストール
apt-get install --reinstall mysql-common
apt-get purge mysql-common
/etc/mysql/
フォルダーを確認しましたが、空のサブフォルダーconf.d
以外は完全に空であることがわかりました。
cd /etc/
# you need to delete the empty mysql folder otherwise the ln below creates the link inside the existing mysql folder
Sudo rm -r mysql
Sudo ln -s ./mysql.bak/ mysql
その後(このリンクのおかげ このリンク )
Sudo dpkg --configure -a
そして今、すべてが正常に表示されます。
上記のリンクには--force-depends
も記載されていますが、これは必要ありませんでした。 apt-get -f install
にも言及していますが、これも必要ありませんでした。
コメントでcharneykayeが述べたように、バックグラウンドにいくつかのmysql
プロセスがある場合、このアプローチは失敗する可能性があります。私が使用した:
emil-mint-desktop ~ # ps -aef | grep mysql
root 6682 1 0 16:45 ? 00:00:00 Sudo mysqld_safe --skip-grant-tables
root 6683 6682 0 16:45 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
mysql 7046 6683 0 16:45 ? 00:00:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 --log-syslog=1 --log-syslog-facility=daemon --log-syslog-tag=
root 21046 9812 0 17:32 pts/5 00:00:00 grep --color=auto mysql
次を使用して、最初の3つのプロセス(最後のプロセスはgrep
呼び出し自体です!)を強制終了しました。
kill -9 6682 8883 7046
次に、mysql
関連のすべてを削除します。
apt remove --purge mysql-\*
apt autoremove
apt autoclean
次にインストールします:
apt install mysql-server
それはうまくいきました。
バージョン:
apt-get
をapt
に置き換える必要があります。上記のすべての答えを試した後、この問題を次の方法で修正できました。
Sudo rm /etc/rc5.d/S03mysql
その後、実行することができました:
Sudo apt purge mysql-server mysql-server-5.7 mysql-server-core-5.7
Sudo apt-get -f install mysql-server --fix-missing --fix-broken
そのための簡単な解決策を見つけました。
最初のステップ:apt-get install mysql-common --reinstall
2番目のステップ:apt-get install mysql-server --reinstall
そしてそれは動作します!