Fixing broken myslq-server package after upgrade to 12.04

After upgrade to 12.04 mysql server was unable to start.

I tried many different things but without any luck.

Now when I try to install it, I get:

$  sudo apt-get install mysql-server-5.5
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  tinyca
The following NEW packages will be installed:
  mysql-server-5.5
0 upgraded, 1 newly installed, 0 to remove and 39 not upgraded.
Need to get 0 B/8,708 kB of archives.
After this operation, 31.3 MB of additional disk space will be used.
Preconfiguring packages ...
Selecting previously unselected package mysql-server-5.5.
(Reading database ... 243325 files and directories currently installed.)
Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.22-0ubuntu1_i386.deb) ...
Processing triggers for man-db ...
Processing triggers for ureadahead ...
ureadahead will be reprofiled on next reboot
Setting up mysql-server-5.5 (5.5.22-0ubuntu1) ...
120509 20:32:08 [Note] Plugin 'FEDERATED' is disabled.
120509 20:32:08 InnoDB: The InnoDB memory heap is disabled
120509 20:32:08 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120509 20:32:08 InnoDB: Compressed tables use zlib 1.2.3.4
120509 20:32:08 InnoDB: Initializing buffer pool, size = 128.0M
120509 20:32:08 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 67108864 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
120509 20:32:09 [ERROR] Plugin 'InnoDB' init function returned error.
120509 20:32:09 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
120509 20:32:09 [ERROR] Unknown/unsupported storage engine: InnoDB
120509 20:32:09 [ERROR] Aborting

120509 20:32:09 [Note] /usr/sbin/mysqld: Shutdown complete

start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)

Can someone suggest some way to fix this or I must to reinstall entire system?

Thanks in advance.


Solution 1:

That answer is hugely dangerous to anyone that has mysql databases, as it will delete all of them. And it is not necessary to perform such a procedure. Simply do:

sudo touch /etc/apparmor.d/local/usr.sbin.mysqld
service mysqld start

And mysql will return to normal state, mysql will be running and your databases will end alive not erased..

Solution 2:

Reinstalling your complete system is not needed. If anything you can always do

sudo apt-get remove --purge mysql-server
sudo apt-get install mysql-server-5.5

Things that happend when I installed mysql and ran into trouble:

  • It is possible your missing or have a corrupt /etc/my.cnf (see the message about a problem in .cnf?). If so ...

    sudo mv /etc/mysql/my.cnf  /etc/mysql/my.cnf.old 
    sudo cp /etc/mysql/my.cnf.dpkg-old /etc/mysql/my.cnf
    /etc/init.d/mysql start
    

    Ofcourse do 1st check if you have a my.cnf.dpkg.dist