Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

New installation of 11.04. Then I followed all instructions here: http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-11.04-lamp

Now when I run mysqld I get this error:

makara@rahu:~$ mysqld
111103 13:39:37 [Warning] Can't create test file /var/lib/mysql/rahu.lower-test
111103 13:39:37 [Warning] Can't create test file /var/lib/mysql/rahu.lower-test
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13)
111103 13:39:37 [ERROR] Aborting
111103 13:39:37 [Note] mysqld: Shutdown complete

Someone on IRC said it might be a package issue??

Thanks beet

share|improve this question
add comment

2 Answers

up vote 2 down vote accepted

mysqld should be ran as the mysql user. You should not run the daemon manually. Better start it as service like this:

sudo service mysql start

The error message points out that the mysql service cannot access certain files which it should not be allowed to acces in your user environment. So this behaviour should be correct. However, you should check whether the directories exist and who owns them and who has access to them (use ls -la for this purpose):

ls -la  /var/lib/
ls -la  /var/lib/mysql
share|improve this answer
    
Doesn't work. An output is mysql: unrecognized service –  Green Jul 19 '13 at 16:20
add comment

I ran into the same issue, after the upgrade from Oneiric to Precise, which upgrades MySQL from 5.1 to 5.5.

In my case, the problem was that

/etc/apparmor.d/local/usr.sbin.mysqld

was missing, even though it was included from

/etc/apparmor.d/usr.sbin.mysqld

by default. A simple

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

solved the issue for me.

For those searching: the logfile that holds the interesting information is /var/log/upstart/mysql. There will be nothing in /var/log/mysql(*|/*)

What you see may include:

  • sudo service mysql start results in

    start: Job failed to start

  • Manually trying to start mysqld as a regular user will fail as usual (before the issue above comes into play), because the user doesn't have access to /var/lib/mysql (this can be found in the syslog).

  • Starting mysqld as root will succeed (I don't know why)

share|improve this answer
    
death to apparmor ... didn't even know this existed, yet it caused my a couple hours of pain –  sbditto85 Aug 20 '13 at 0:37
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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