Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I tried to find in some articles describing how to correctly start & stop mysql server.

I found this link: How to start/stop MySql server on Ubuntu 8.04 | Abhi's Blogging World

I ran this command:

/etc/init.d/mysql start 

but I see this error

ERROR 1045 (28000) Access denied for user....

After I tried this command:

sudo /etc/init.d/mysql start

I entered my password, and again I see the same error.

Next command:

sudo /etc/init.d/mysql - root -p start

results in:

ERROR 1049 (42000) Unknown database 'start'.

And when I run this command:

sudo service mysql start

MySQL server success started. Cool!

So, what's wrong with the other commands? Why do they result in error?

share|improve this question
In fact, even with sudo it didn't work for me, but then I found in the script the following hint: Rather than invoking init scripts through /etc/init.d, use the service(8) and it was ok – Tim Sep 20 '12 at 20:21
Tim is correct. Use sudo service mysql start. – Ed Manet Mar 15 '13 at 18:07
up vote 128 down vote accepted

Your first two commands weren't run as root so that is expected behaviour. You need to be root to stop/start mysql.


sudo /etc/init.d/mysql start

should work. Indeed it does, for me:

kojan:~> sudo /etc/init.d/mysql restart
[sudo] password for chris: 
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..

I used restart rather than start, since it was already running, but the effect is the same. Are you sure you entered your password correctly? :) Have you edited your sudo config at all which would stop this working?

This one..

sudo /etc/init.d/mysql - root -p start

The arguments are wrong. an init.d script only takes start or stop or restart - just one word telling it what to do. You cannot give it multiple arguments as you were trying to do.

Anyway, the short answer is the one you actually got to work, is the recommended way. service is replacing all the init.d scripts over time, so you should get into the habit of using service. The page you link is 3 years old so has to be taken with some salt :)

share|improve this answer
Also try sudo service mysql start – user108762 Nov 17 '12 at 12:45
start mysql worked for me (Ubuntu 12.04.4). – Tim May 12 '14 at 7:28
sudo /etc/init.d/mysql restart restarted MySQL for me – Edward Jul 13 at 20:23

Also helps to double check that "mysql" is the correct service name. In my case it wasn't. I kept getting following response: mysql: unrecognized service when running

service mysql status 

Then I checked /etc/init.d and found script named mysqld which listed process name: mysqld and prog=mysqld

So then I did

service mysqld status
service mysqld stop
service mysqld start 

and they all worked fine.

share|improve this answer
mysql: unrecognized service – Green Jul 20 '13 at 1:06
At least on 13.10, you'll need to run it with root privileges. eg, "sudo service mysql status". – Bryce Mar 4 '14 at 5:09
For 14.10 I needed to use "mysql" not mysqld – redanimalwar Oct 23 '14 at 1:39
when running without root rights, it'll say unknown job: mysql. a bit confusing. – Blauhirn Mar 20 at 15:55

For Ubuntu 12.10 and later:


sudo start mysql


sudo restart mysql # The service must be running


sudo stop mysql # The service must be running
share|improve this answer
stop: Unknown job: mysql – Green Jul 20 '13 at 1:07
@Green I just tried this (one year later) and it is still working. This is my result: mysql stop/waiting. You must know that you have to be already running mysql to stop this ;) – Lucio Jul 24 '13 at 22:45
Hero, you save my life, that mysqld has been occupied my machine memory for so long. I tried all kinds of methods to remove it, but all failed, until I met your answer. – Zen Sep 2 '14 at 13:07

Actually, I got a strange error, when I installed mysql-workbench on my Ubuntu machine. After that I tried to start the mysql service using this command:

service mysql start

So I got the solution that the MySQL server was not installed, so I installed it and my problem was solved. The command to install mysql-server is:

sudo apt-get install mysql-server

After successful installation, start the MySQL server as:

service mysql start
share|improve this answer

A little script to cover both cases [server running/server not running]:


service mysql restart
if [ "$?" != "0" ]; then
  service mysql start
share|improve this answer

Your Answer


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.