Come faccio ad avviare/fermare il server mysql?

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?

Soluzione

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

Commentari (4)

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.

Commentari (6)

Per Ubuntu 12.10 e successive:

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
Commentari (5)