Ho cercato di trovare in alcuni articoli che descrivono come avviare correttamente & fermare il server mysql.
Ho trovato questo link: Come avviare/fermare il server MySql su Ubuntu 8.04 | Abhi's Blogging World
Ho eseguito questo comando:
/etc/init.d/mysql start
ma vedo questo errore
ERROR 1045 (28000) Access denied for user....
Dopo aver provato questo comando
sudo /etc/init.d/mysql start
Ho inserito la mia password e di nuovo vedo lo stesso errore.
Comando successivo:
sudo /etc/init.d/mysql - root -p start
risulta in:
ERROR 1049 (42000) Unknown database 'start'.
E quando eseguo questo comando
sudo service mysql start
Successo del server MySQL avviato. Forte!
Allora, cosa c'è di sbagliato negli altri comandi? Perché danno come risultato un errore?
I tuoi primi due comandi non sono stati eseguiti come root e questo è il comportamento previsto. Devi essere root per fermare/avviare mysql.
Tuttavia:
sudo /etc/init.d/mysql start
dovrebbe funzionare. Infatti lo fa, per 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..
Ho usato restart invece di start, dato che era già in esecuzione, ma l'effetto è lo stesso. Sei sicuro di aver inserito la tua password correttamente? :) Hai modificato la tua configurazione di sudo in qualche modo, il che impedirebbe il funzionamento?
Questo...
sudo /etc/init.d/mysql - root -p start
Gli argomenti sono sbagliati. Uno script init.d prende solo start
o stop
o restart
- solo una parola che gli dice cosa fare. Non puoi dargli argomenti multipli come stavi cercando di fare.
Comunque, la risposta breve è quella che hai fatto funzionare, è il modo raccomandato. service
sta sostituendo tutti gli script init.d nel tempo, quindi dovresti prendere l'abitudine di usare service
. La pagina che hai linkato è vecchia di 3 anni quindi deve essere presa con un po' di sale :)
Aiuta anche a controllare due volte che "mysql" sia il nome corretto del servizio. Nel mio caso non lo era. Continuavo ad ottenere la seguente risposta: mysql: servizio non riconosciuto durante l'esecuzione
service mysql status
Poi ho controllato /etc/init.d e ho trovato uno script chiamato mysqld che elencava il nome del processo: mysqld e prog=mysqld
Quindi ho fatto
service mysqld status
service mysqld stop
service mysqld start
e hanno funzionato tutti bene.
START MYSQL:
sudo start mysql
RIAVVIARE MYSQL:__
sudo restart mysql # The service must be running
STOP MYSQL:
sudo stop mysql # The service must be running