This appears to be a common problem on 12.04. I\'ve tried everthing in this thread including:
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get remove
I had this problem many times. I can add an other piece of solution for this jigsaw...
WARNING: the following steps will delete your data! Do a backup first!
You have to:
rm -rf /var/lib/mysql rm -rf /etc/mysql
AND
Verify that, the interface "lo" is up and, the traffic is allowed on "lo" (iptables).
Hope that help someone else !
I couldnt solve this problem with purging / manual deletion / anything that mysql / ubuntu forums advised me to do
instead, the solution for me was :
1) increase the memory of the VM that Ubuntu was running on
2) after checking /var/log/mysql/error.log, I found out that a specific file couldnt be created at /tmp :
Can't create/write to file '/tmp/ibeDIRhT' (Errcode: 13) InnoDB: Error: unable to create temporary file; errno: 13
I just chmod(ed) /tmp to allow this.
Lo and behold, next attempt of installing mysql was successful.
just in case anyone ever has this problem, purging isn't always the solution, you should check the log to see what error message you have. That might help
The fix from the Ubuntu forums:
This is what worked for me, though I was doing an install and not an upgrade, so I didn't care about the existing database.
I removed all the mysql application again, then I went and deleted my /var/lib/mysql directory. Keep in mind, if you have an existing database there, you will lose it. You might want to move it to another location.
After removing that directory, I installed again and it worked perfect. So something in the /var/lib/mysql directory was my problem. See if that works for you.
I tried everything above, but it still wouldn't install. I finally got it working with this post: http://www.randomhacks.co.uk/mysql-job-failed-to-start-unable-to-set-root-password-cant-find-file-mysql/
It advises to remove folders similar to what was stated above, and also to run
dpkg --get-selections | grep mysql
sudo apt-get remove --purge [everything that came up]
sudo apt-get autoremove && sudo apt-get autoclean
sudo apt-get install mysql-server
I wasted many hours trying to fix this and in the end it turned out that it just needed full permissions on /tmp
directory (i tried 755 and 766 but didn't work, only 777 works), so i ran:
sudo chmod 1777 /tmp
"the number 1 before 777 is called the sticky bit
and it adds extra security to the folder, check this for more details about the sticky bit".
and reconfigured:
sudo dpkg --configure mysql-server-5.5
and mysql server started successfully.