dpkg: error processing package mysql-server

荒凉一梦 提交于 2020-06-24 21:48:20

问题


When I try to install mysql-server, an error comes like:

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)

What does it mean. Any ideas?


回答1:


dpkg returning an error code 1 doesn't mean anything specific but it usually has to do with dependency issues. In your case, you tried to install two versions/instances of the same package i.e. mysql-server and mysql-server-5.7. So do the following to remove any redundant dependency issues and install a functioning mysql package

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

this should fix the problem at hand. But in the future, have care about the package names you add after sudo apt-get install since the wrong list of package names - for example redundant entries in the list - results in failure to install either of the packages or worse - you might even find yourself wading through the hellish depths of #DEPENDENCY-HELL




回答2:


This should help

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

And now reinstall mysql

sudo apt-get install mysql-server



回答3:


If you're on a VPS or similar, your error may be due to lack of RAM.

Running apt-upgrade seems to require some RAM, so it may force-close mysql, hence the problem to recover from the error.

Try:

1) Stop mysql manually before any apt-upgrade

sudo /etc/init.d/mysql stop

2) Fix:

sudo dpkg --configure mysql-server-X.X

(if version not known, use just mysql-server to find out (will not fix error)

3) Check:

sudo apt-get upgrade

Start mysql manually if it wasn't started by apt.




回答4:


I had a similar issue. This is how I fixed mine.

  1. Restart MySQL service sudo service mysql restart
  2. Then fix broken installations sudo apt install -f



回答5:


My answer from askubuntu.

None of the apt methods worked for me, try this:

Find locking process

$ 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

Kill it

do sudo kill -9 7973, basically the mysql one.

Now purge

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



回答6:


All of the answers I've been able to find for this question have been of the form "purge your Mysql install and re-install it." But in my case, I already have a working/active Mysql install. For me, the reason why dpkg --configure -a fails is because Mysql is already installed. Why dpkg thinks that the postinstall script needs to be run for my already-installed-and-upgraded Mysql I may never know, but it does.

After considerable time scouring for answers, I found a solution that should work if there are others who already have a working Mysql 5.7 and just want to get past this bogus postinstall script. You can edit the postinstall script directly as (on Ubuntu):

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

And then, on the second line, just add exit 0 and then run dpkg again and you should get something like:

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

You definitely would not want to follow these instructions if your Mysql installation had not previously completed (there's a reason that the postinstall script insists on running). But for those who might end up with dpkg in a wonky state, as I have, the above can save you a lot of time purging and reinstalling an already-working version of Mysql.




回答7:


To solve the dependency issue, try:

sudo apt-get purge
sudo apt-get clean
sudo apt-get check

And reinstall the package again by: sudo apt-get install mysql-server.

Source: Thread: Dpkg: Dependency problems - leaving unconfigured.

Other commands to try:

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

Related: How can I Resolve dpkg dependency? at Ask Ubuntu.




回答8:


The problem can be much simpler (in my case) I had a missconfigured value in my configuration file [my.cnf] which lead to the error. After cleaning up my.cnf mysql-server was restarted successfully




回答9:


If you are working on Debian 10, you need to first install GNUPG:

sudo apt-get install gnupg

That's all; now you can try dpkg again.




回答10:


I was in the same situation. After completely removing MySQL, I reinstalled it, killed the PID using port 3306, and reinstalled MySQL again. It's working now.

screenshot



来源:https://stackoverflow.com/questions/43446218/dpkg-error-processing-package-mysql-server

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!