J'ai essayé de trouver dans certains articles décrivant comment démarrer & ; arrêter correctement le serveur mysql.
J'ai trouvé ce lien : [Comment démarrer/arrêter le serveur MySql sur Ubuntu 8.04 | Abhi's Blogging World][1]
J'ai exécuté cette commande :
/etc/init.d/mysql start
mais je vois cette erreur
ERROR 1045 (28000) Access denied for user....
Après avoir essayé cette commande :
sudo /etc/init.d/mysql start
J'ai entré mon mot de passe, et à nouveau je vois la même erreur.
Commande suivante :
sudo /etc/init.d/mysql - root -p start
résulte en :
ERROR 1049 (42000) Unknown database 'start'.
Et quand je lance cette commande :
sudo service mysql start
Le serveur MySQL a démarré avec succès. Cool !
Alors, qu'est-ce qui ne va pas avec les autres commandes ? Pourquoi produisent-elles des erreurs ?
[1] : http://abbysays.wordpress.com/2008/05/20/how-to-startstop-mysql-server-on-ubuntu-804/
Vos deux premières commandes n’ont pas été exécutées en tant que root, c’est donc un comportement attendu. Vous devez être root pour arrêter/démarrer mysql.
Cependant :
sudo /etc/init.d/mysql start
devrait fonctionner. En effet, pour moi, c'est le cas :
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..
J'ai utilisé restart plutôt que start, puisqu'il était déjà en cours d'exécution, mais l'effet est le même. Etes-vous sûr d'avoir entré votre mot de passe correctement ? :) Avez-vous modifié votre configuration sudo qui pourrait empêcher le fonctionnement ?
Celui-là...
sudo /etc/init.d/mysql - root -p start
Les arguments sont faux. Un script init.d ne prend que start
ou stop
ou restart
- juste un mot lui indiquant quoi faire. Vous ne pouvez pas lui donner plusieurs arguments comme vous avez essayé de le faire.
De toute façon, la réponse courte est celle que vous avez réussi à faire fonctionner, c'est la méthode recommandée. service
remplace tous les scripts init.d avec le temps, donc vous devriez prendre l'habitude d'utiliser service
. La page dont vous donnez le lien a 3 ans et doit donc être prise avec un peu de sel :)
Il est également utile de vérifier que "mysql" est le nom de service correct. Dans mon cas, ce n’était pas le cas. Je n'ai cessé d'obtenir la réponse suivante : mysql : service non reconnu lors de l'exécution.
service mysql status
J'ai ensuite vérifié /etc/init.d et j'ai trouvé un script nommé mysqld qui indiquait le nom du processus : mysqld et prog=mysqld.
J'ai donc fait
service mysqld status
service mysqld stop
service mysqld start
et ils ont tous bien fonctionné.