web-dev-qa-db-ja.com

dpkg:パッケージmysql-serverの処理中にエラーが発生しました

Mysql-serverをインストールしようとすると、次のようなエラーが発生します。

dpkg: error processing package mysql-server (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

どういう意味ですか。何か案は?

11
Sherzod

dpkgがエラーコード1を返すことは、特定の意味ではありませんが、通常、依存関係の問題に関係しています。あなたの場合、同じパッケージの2つのバージョン/インスタンス、つまりmysql-servermysql-server-5.7をインストールしようとしました。したがって、次のようにして、冗長な依存関係の問題を削除し、機能しているmysqlパッケージをインストールします。

Sudo apt-get clean
Sudo apt-get purge mysql*
Sudo apt-get update
Sudo apt-get install -f
Sudo apt-get install mysql-server-5.7
Sudo apt-get dist-upgrade

これで問題は修正されます。ただし、将来的には、Sudo apt-get installの後に追加するパッケージ名に注意してください。リスト内の冗長なエントリなど、パッケージ名の間違ったリストは、パッケージのインストールに失敗するか、さらに悪いことになるためです。 #DEPENDENCY-HELLの地獄のような深さをさまよいます

7
endrias

VPSまたは類似のものを使用している場合、エラーはRAMの不足が原因である可能性があります。

Apt-upgradeを実行するには、RAMがいくらか必要なようです。そのため、mysqlが強制的に閉じられ、エラーから回復する問題が発生する可能性があります。

試してください:

1)apt-upgradeの前にmysqlを手動で停止します

Sudo /etc/init.d/mysql stop

2)修正:

Sudo dpkg --configure mysql-server-X.X

(バージョンが不明な場合は、mysql-serverを使用して見つける(エラーは修正されません)

3)チェック:

Sudo apt-get upgrade

Aptによって開始されなかった場合は、mysqlを手動で開始します。

2
Teson

これは役立つはずです

Sudo apt-get purge mysql*
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get dist-upgrade

そして今mysqlを再インストールします

Sudo apt-get install mysql-server
2
Zaytsev Dmitry

askubunt からの私の回答。

aptメソッドのどれも私にとってうまくいきませんでした、これを試してください:

ロックプロセスの検索

$ ps -eaf
root      7316     1  0 00:19 ?        00:00:00 /usr/bin/dpkg --status-fd 35 --configure --pending
root      7808  7316  0 00:19 ?        00:00:00 /usr/bin/Perl -w /usr/share/debconf/frontend /var/lib/dpkg/info/mysql-se
root      7817  7808  0 00:19 ?        00:00:00 /bin/bash /var/lib/dpkg/info/mysql-server-5.7.postinst configure
mysql     7973  7817  0 00:20 ?        00:00:00 mysqld --user=mysql --init-file=/var/lib/mysql-files/tmp.iNyY06ty0K --so

殺す

行う Sudo kill -9 7973、基本的にはmysqlです。

パージ中

Sudo apt-get purge mysql-server-5.7 # Or whatever you are trying to purge.
1

同様の問題がありました。これが私の修正方法です。

  1. MySQLサービスを再起動しますSudo service mysql restart
  2. 次に、壊れたインストールを修正しますSudo apt install -f
1
Peter Umoren

この質問に対して私が見つけた答えはすべて、「Mysqlのインストールを削除して再インストールする」という形式でした。しかし、私の場合、私はすでに機能している/アクティブなMysqlインストールを持っています。私にとって、dpkg --configure -aが失敗する理由は、Mysqlがすでにインストールされているためです。インストール済みでアップグレード済みのMysqlに対してpostinstallスクリプトを実行する必要があるとdpkgが判断する理由は、私にはわからないかもしれませんが、そうです。

かなりの時間をかけて回答を探した後、Mysql 5.7がすでに機能していて、この偽のポストインストールスクリプトを回避したい人が他にいる場合に機能する解決策を見つけました。 (Ubuntuで)postinstallスクリプトを直接編集できます。

Sudo vi /var/lib/dpkg/info/mysql-server-5.7.postinst

次に、2行目でexit 0を追加してから、もう一度dpkgを実行すると、次のようになります。

$ Sudo dpkg --configure -a         
Setting up mysql-server-5.7 (5.7.28-0ubuntu0.18.04.4) ...

Mysqlのインストールが以前に完了していない場合は、必ずこれらの手順を実行する必要はありません(postinstallスクリプトが実行を要求する理由があります)。しかし、私がそうであるように、不安定な状態のdpkgで終了する可能性のある人にとっては、上記の方法で、すでに動作しているバージョンのMysqlをパージして再インストールする時間を大幅に節約できます。

0
wbharding

Debian 10で作業している場合は、最初にGNUPGをインストールする必要があります。

Sudo apt-get install gnupg

それで全部です;これでdpkgをもう一度試すことができます。

0
Geovas

依存関係の問題を解決するには、次を試してください:

Sudo apt-get purge
Sudo apt-get clean
Sudo apt-get check

そして、パッケージを再インストールします:Sudo apt-get install mysql-server

ソース: スレッド:Dpkg:依存関係の問題-未構成のまま

試す他のコマンド:

Sudo apt-get install -f
Sudo apt-get autoremove
Sudo dpkg --configure -a 

関連: dpkg依存関係を解決するにはどうすればよいですか? atAsk Ubuntu

0
kenorb

問題ははるかに単純になる可能性があります(私の場合)。構成ファイル[my.cnf]で誤って構成された値があったため、エラーが発生しました。 my.cnfをクリーンアップした後、mysql-serverは正常に再起動されました

0
na8ur