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?
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 :)
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.