24

I have trouble in installing or removing the partly installed mysql-server-5.6 in ubuntu15.04. The error I am getting was

$ 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)

Can someone help me on this?

  • Better can remove and hopefully a clean re-install would be fine i think. – vembutech Jul 1 '15 at 18:06
  • I tried this process still i have the problem, ie i am ubable to uninstall or reinstall mysql server – Shameerariff Jul 2 '15 at 5:24
  • 1
    I tried my level best to find out the cause for the issue. I removed the data from the apt status file and updated the apt, where I noticed the system is experiencing the problem with libgcc1 libc6. I am trying to solve the problem Will keep post the status based on my findings. – Shameerariff Jul 2 '15 at 6:03
49

Try doing a purge, then re-install.

sudo apt-get remove --purge mysql-\*
sudo apt-get install mysql-server mysql-client

Update 04.09.2018:
If you have issues uninstalling/installing because MySQL process is live, you can try this first, then above:
sudo kill $(pgrep mysql)

  • I tried this process still i have the problem, ie i am ubable to uninstall or reinstall mysql server – Shameerariff Jul 2 '15 at 5:23
  • The original instructions removed the metapackage, which was a no-op. The new edited instructions work with 16.04. – mrm Jul 24 '16 at 16:33
  • Worked for me on elementary OS. – MChaker Dec 18 '16 at 7:41
  • 2
    This worked for me only after I checked ps -aef | grep mysql and sent a kill signal to all varieties of running mysqld. – Charney Kaye Jan 11 '17 at 20:10
11

A very simple solution which I (the linux noob) had to dig up... is to create the file.

nano /etc/mysql/my.cnf.fallback

and fill it with the default content from the mysql-common 5.7.11-0ubuntu6 package.

#
# 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/

found here at apt-browse.org

  • This is a better answer than the accpeted one because it fixes the actual problem without having to use the brute force approach. – devius Jan 30 '18 at 19:04
  • In my case touch /etc/mysql/my.cnf.fallback got me past the issue. – oalders Sep 21 '18 at 1:59
9

Purge/Reinstall also did not work for me. I found the following "solution":

I could not find mysql.cnf.fallback listed in the "provided files" for mysql-server-5.6 / mysql-client-5.6 nor any additional info about the file.

I copied /etc/mysql/my.cnf to /etc/mysql/my.cnf.fallback (guessing that this would have been a relatively less important "fallback" config file);

/etc/mysql/my.cnf is a symlink, so ls /etc/mysql now shows:

 my.cnf.fallback -> /etc/alternatives/my.cnf
 my.cnf -> /etc/alternatives/my.cnf

The installation of the package then completed without error (since presumably the "doesn't exist" issue was "solved").

I have not come across any adverse effects (yet).

  • This sounds great but can you explain the reason for the problem, It would be beneficial for others. – Shameerariff Aug 28 '15 at 4:05
3

I had the same problem while trying to purge mysql-server (5.7.14).

In case that the my.cnf* files are missing, you can re-install the package mysql-common, and afterwards, you can purge both (mysql-server & mysql-common)

These my.cnf* files belong to mysql-common package (see bellow):

$ dpkg -L mysql-common | grep cnf
/etc/mysql/my.cnf.fallback
/etc/mysql/conf.d/mysql.cnf


1. Re-install mysql-common

apt-get install --reinstall mysql-common

  1. Purge mysql-common

apt-get purge mysql-common

1

I checked my /etc/mysql/ folder and found it to be completely empty other than an empty sub-folder 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

then (courtesy of this link this link)

sudo dpkg --configure -a

and now all appears okay.

The link above also mentions --force-depends but I did not need this. It also mentions apt-get -f install but again I did not need this.

  • This was exactly my problem. This fixed it for me. – Dave Kincaid Oct 7 '16 at 12:15
0

As noted by charneykaye in the comments, this approach can fail if there's some mysql processes in the background. I used:

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

Killed the first 3 processes (the last one is the grep call itself!) using:

kill -9 6682 8883 7046

Then remove everything mysql related:

apt remove --purge mysql-\*
apt autoremove
apt autoclean

and then install:

apt install mysql-server

Then it worked.

Versions:

  • Mint 18.1 (based on Ubuntu). You will need to substitute apt for apt-get for some other versions.
0

I found an easy solution for that:

First step: apt-get install mysql-common --reinstall

Second step: apt-get install mysql-server --reinstall

And it works!

0

After trying all the answers above I was able to fix this problem with:

sudo rm /etc/rc5.d/S03mysql

Then was able to run:

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

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.