Miten käynnistän/pysäytän mysql-palvelimen?

Yritin löytää joitakin artikkeleita, joissa kuvataan, miten oikein käynnistää & pysäytä mysql-palvelin.

Löysin tämän linkin: Abhi's Blogging World]1 [Miten MySql-palvelin käynnistetään/pysäytetään Ubuntu 8.04:ssä?

Ajoin tämän komennon:

/etc/init.d/mysql start 

mutta näen tämän virheen

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

Kun olen kokeillut tätä komentoa:

sudo /etc/init.d/mysql start

Syötin salasanani, ja taas näen saman virheen.

Seuraava komento:

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

tuloksena:

ERROR 1049 (42000) Unknown database 'start'.

Ja kun suoritan tämän komennon:

sudo service mysql start

MySQL-palvelimen menestys käynnistyi. Siistiä!

Mitä vikaa muissa komennoissa on? Miksi ne johtavat virheeseen?

Ratkaisu

Kahta ensimmäistä komentoa ei suoritettu pääkäyttäjänä, joten se on odotettua käyttäytymistä. Sinun on oltava pääkäyttäjä pysäyttääksesi/käynnistäksesi mysql:n.

Kuitenkin:

sudo /etc/init.d/mysql start

pitäisi toimia. Minulle se todellakin toimii:

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

Käytin käynnistyksen sijaan restartia, koska se oli jo käynnissä, mutta vaikutus on sama. Oletko varma, että kirjoitit salasanasi oikein? :) Oletko muokannut sudo-konfiguraatiotasi lainkaan, mikä estäisi tämän toiminnan?

Tämä...

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

Argumentit ovat vääriä. init.d-skripti tarvitsee vain start tai stop tai restart - vain yhden sanan, joka kertoo mitä tehdä. Et voi antaa sille useita argumentteja, kuten yritit tehdä.

Lyhyt vastaus on kuitenkin se, jonka sait toimimaan, ja se on suositeltava tapa. service korvaa ajan mittaan kaikki init.d-skriptit, joten sinun pitäisi totutella käyttämään service:tä. Linkittämäsi sivu on 3 vuotta vanha, joten siihen on suhtauduttava varauksella :)

Kommentit (4)

Auttaa myös tarkistamaan, että "mysql" on oikea palvelun nimi. Minun tapauksessani se ei ollut. Sain jatkuvasti seuraavan vastauksen: mysql: tunnistamatonta palvelua suoritettaessa.

service mysql status 

Sitten tarkistin /etc/init.d:n ja löysin skriptin nimeltä mysqld, joka listasi prosessin nimen: mysqld ja prog=mysqld.

Sitten tein

service mysqld status
service mysqld stop
service mysqld start 

ja ne kaikki toimivat hienosti.

Kommentit (6)

For Ubuntu 12.10 and later:

START MYSQL:

sudo start mysql

RESTART MYSQL:

sudo restart mysql # The service must be running

STOP MYSQL:

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