18

I am unable to install mysql-server on my ubuntu 9.10 server machine. When using apt-get install mysql-server the output is :

# apt-get install mysql-server

Reading package lists... Done
Building dependency tree
Reading state information... Done

mysql-server is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 120 not upgraded.
2 not fully installed or removed.

After this operation, 0B of additional disk space will be used.
Setting up mysql-server-5.1 (5.1.37-1ubuntu5.4) ...
* Stopping MySQL database server 
    Mysqld    [ OK ]
* Starting MySQL database server 
mysqld [fail]

invoke-rc.d: initscript mysql, action "start" failed.

dpkg: error processing mysql-server-5.1 (--configure):

subprocess installed post-installation script returned error exit status 1

dpkg: dependency problems prevent configuration of mysql-server:

mysql-server depends on mysql-server-5.1; however:
Package mysql-server-5.1 is not configured yet.

dpkg: error processing mysql-server (--configure):
dependency problems - leaving unconfigured

No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
mysql-server-5.1
mysql-server  
E: Sub-process /usr/bin/dpkg returned an error code (1)

I cant find a satisfactory solution to this problem anywhere. Many sites tell to reinstall it but its not working.

Any help will be appreciated.

Thank you..

user9517
  • 115,471
  • 20
  • 215
  • 297
Arihant
  • 191
  • 1
  • 2
  • 6

4 Answers4

28

This worked for me:

apt-get purge mysql-server
apt-get purge mysql-common
rm -rf /var/log/mysql
rm -rf /var/log/mysql.*
rm -rf /var/lib/mysql
rm -rf /etc/mysql
# and then:
apt-get install mysql-server --fix-missing --fix-broken

Although it will also remove all dependencies on mysql.

And it will also delete existing databases, backup first!

Source.

Zitrax
  • 794
  • 2
  • 11
  • 21
5

A few suggestions:

  • The ever obvious, make sure you are running as root.
  • Try doing apt-get remove mysql.
  • Then try doing an apt-get purge (you might need apt-get purge mysql, sometimes aptitude can be picky).
  • Always check your logs. They will most likely hold the answer for almost everything.
  • Also, try doing an apt-get clear cache and apt-get clean. Then try installing again.

Or try this solution I found on google:

The mysql-server-5.1 package tries to start MySQL after the package is installed, which fails. The first thing you need to do is finish the installation process cleanly. There are several ways to do this:

either fix your MySQL configuration, check that /etc/init.d/mysql-server works, and launch dpkg --configure -a to finish the installation process ; or edit /var/lib/dpkg/info/mysql-server-5.1.postinst and remove the part where it starts the server (probably calling /etc/init.d/mysql-server start or so), then launch dpkg --configure -a to finish the installation process and then fix your configuration.

lilott8
  • 496
  • 5
  • 14
2

MySQL failed to start. The reason this occurred should be logged in /var/log/mysql.log (or is it still /var/lib/mysql/.err?). Can you paste the output from there, and maybe we can figure out what went wrong.

Bittrance
  • 3,070
  • 3
  • 24
  • 27
  • /var/log/mysql.err and /var/log/mysql.log both files are empty. – Arihant Apr 01 '11 at 14:52
  • Following is the output of /usr/local/mysql/clc.err file.clc is hostname 20:50:31 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 110402 20:50:31 [Warning] Can't create test file /var/lib/mysql/clc.lower-test 110402 20:50:31 [Warning] Can't create test file /var/lib/mysql/clc.lower-test 110402 20:50:31 [ERROR] Fatal error: Can't change to run as user 'mysql' ; Please check that the user exists! 110402 20:50:31 [ERROR] Aborting 110402 20:50:31 [Note] /usr/sbin/mysqld: Shutdown complete 110402 20:50:31 mysqld_safe mysqld from pid file /var/lib/mysql/clc.pid ended – Arihant Apr 01 '11 at 14:59
  • Maybe 1) mysql user does not exist, or 2) /var/lib/mysql is not owned by mysql user? If 2), remember to chown -R. – Bittrance Apr 01 '11 at 15:04
  • this is /etc/passwd file entry: 'mysql:x:118:128:MySQL Server,,,:/var/lib/mysql:/bin/false' . I have already done **chown -R mysql /var/lib/mysql** .. – Arihant Apr 01 '11 at 15:08
  • This is the output of : apt-get purge mysql-server ` * Stopping MySQL database server mysqld * Starting MySQL database server mysqld [fail] invoke-rc.d: initscript mysql, action "start" failed. dpkg: error processing mysql-server-5.1 (--configure): subprocess installed post-installation script returned error exit status 1 E: Sub-process /usr/bin/dpkg returned an error code (1) ` _I cant understand why is it starting the mysql-server service when i am removing it._ – Arihant Apr 01 '11 at 15:13
  • is there anything in /var/log/messages? also, I edited my original answer to include a new, possible solution to your problem. – lilott8 Apr 01 '11 at 15:28
  • @lilott8 .. Nothing about msyql-server in /var/log/messages .. I am going through the link given by you. – Arihant Apr 01 '11 at 15:42
1

Open a different console, enter ps aux | grep mys

And kill anything that looks like this:

egrep -qi ... /etc/mysql/

This should allow the installation to complete.

Marko
  • 227
  • 4
  • 7
  • 15