Hoe start/stop ik mysql server?

Ik heb geprobeerd om in sommige artikelen te vinden die beschrijven hoe correct te starten & stoppen mysql server.

Ik vond deze link: How to start/stop MySql server on Ubuntu 8.04 | Abhi's Blogging World

Ik heb dit commando uitgevoerd:

/etc/init.d/mysql start 

maar ik zie deze foutmelding

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

Nadat ik dit commando heb geprobeerd:

sudo /etc/init.d/mysql start

Ik voerde mijn wachtwoord in, en weer zie ik dezelfde foutmelding.

Volgende commando:

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

resulteert in:

ERROR 1049 (42000) Unknown database 'start'.

En als ik dit commando uitvoer:

sudo service mysql start

MySQL server succes gestart. Cool!

Dus, wat's er mis met de andere commando's? Waarom resulteren ze in een fout?

Oplossing

Je eerste twee commando's werden niet als root uitgevoerd, dus dat is verwacht gedrag. Je moet root zijn om mysql te stoppen/starten.

Echter:

sudo /etc/init.d/mysql start

zou moeten werken. Dat doet het inderdaad, voor mij:

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..

Ik gebruikte restart in plaats van start, omdat het al draaide, maar het effect is hetzelfde. Weet je zeker dat je je wachtwoord correct hebt ingevoerd? :) Heb je je sudo-config überhaupt bewerkt waardoor dit niet meer zou werken?

Deze...

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

De argumenten zijn verkeerd. Een init.d script heeft alleen start of stop of restart nodig - slechts één woord dat zegt wat het moet doen. Je kunt het niet meerdere argumenten geven zoals je probeerde te doen.

Hoe dan ook, het korte antwoord is datgene wat je aan het werk hebt gekregen, de aanbevolen manier is. service vervangt in de loop der tijd alle init.d scripts, dus je zou er een gewoonte van moeten maken om service te gebruiken. De pagina waarnaar je linkt is 3 jaar oud, dus moet met een korreltje zout genomen worden :)

Commentaren (4)

Het helpt ook om te controleren of "mysql" de juiste service naam is. In mijn geval was dat niet het geval. Ik bleef het volgende antwoord krijgen: mysql: niet herkende service bij het draaien

service mysql status 

Toen controleerde ik /etc/init.d en vond een script met de naam mysqld dat de procesnaam: mysqld en prog=mysqld

Dus toen deed ik

service mysqld status
service mysqld stop
service mysqld start 

en ze werkten allemaal prima.

Commentaren (6)

Voor Ubuntu 12.10 en later:

START MYSQL:

sudo start mysql

START MYSQL:

sudo restart mysql # The service must be running

STOP MYSQL:

sudo stop mysql # The service must be running
Commentaren (5)