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
ça devrait marcher. En effet, c'est le cas, pour moi:
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, car il était déjà en cours d'exécution, mais l'effet est le même. Êtes-vous sûr d'avoir entré votre mot de passe correctement? :) Avez-vous modifié votre configuration sudo qui empêcherait cela de fonctionner?
Celui-là..
sudo /etc/init.d/mysql - root -p start
Les arguments sont faux. initialisation.le script d ne prend que start ou stop ou restart - juste un mot lui disant quoi faire. Vous ne pouvez pas lui donner plusieurs arguments comme vous essayiez de le faire.
Quoi qu'il en soit, la réponse courte est celle que vous avez réellement au travail, c'est la méthode recommandée. service remplace tous les initialiseurs.d scripts au fil du temps, vous devriez donc prendre l'habitude d'utiliser service. La page vers laquelle vous pointez a été écrite en 2008, il faut donc la prendre avec un peu de sel :)
Aide également à vérifier que "mysql" est le nom de service correct. Dans mon cas, ce n'était pas le cas. J'ai continué à recevoir la réponse suivante: mysql: service non reconnu lors de l'exécution
service mysql status
Ensuite, j'ai vérifié /etc / init.d et trouvé un script nommé mysqld qui répertorie le nom du processus: mysqld et prog=mysqld
Alors je l'ai fait
service mysqld statusservice mysqld stopservice mysqld start
En fait, j'ai eu une erreur étrange lorsque j'ai installé mysql-workbench sur ma machine Ubuntu. Après cela, j'ai essayé de démarrer le service mysql en utilisant cette commande:
service mysql start
J'ai donc eu la solution que le serveur MySQL n'était pas installé, alors je l'ai installé et mon problème a été résolu. La commande pour installer mysql-server est:
sudo apt-get install mysql-server
Après une installation réussie, démarrez le serveur MySQL en tant que:
En fait, même avec sudo, cela n’a pas fonctionné pour moi, mais j’ai trouvé dans le script l’indice suivant: Plutôt que d’invoquer des scripts d’initialisation via /etc/init.d, utilisez le service(8) et c’était ok
En général, vous pouvez utiliser sudo - l pour voir ce que votre utilisateur spécifique sur votre système spécifique est autorisé à faire avec sudo. (Vos permissions sont configurées dans /etc / sudoers.) Cependant, je ne sais pas avec certitude si cela aiderait dans ce cas particulier. EDIT: Attendez, peu importe, l’erreur d’accès refusé semble provenir de MySQL ou de quelque chose, pas de sudo.