web-dev-qa-db-fra.com

Comment démarrer / arrêter le serveur mysql?

J'ai essayé de trouver dans certains articles décrivant comment démarrer et 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

J'ai lancé 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 je vois encore la même erreur.

Prochaine commande:

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 succès du serveur MySQL a commencé. Cool!

Alors, qu'est-ce qui ne va pas avec les autres commandes? Pourquoi provoquent-ils des erreurs?

202
user471011

Vos deux premières commandes n'ont pas été exécutées en tant que root, ce qui est le comportement attendu. Vous devez être root pour arrêter/démarrer mysql.

Toutefois:

Sudo /etc/init.d/mysql start

devrait marcher. En effet, 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é redémarrer plutôt que démarrer, 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 édité votre configuration Sudo pour que cela ne fonctionne plus?

Celui-là..

Sudo /etc/init.d/mysql - root -p start

Les arguments sont faux. un script init.d ne prend que startou stopou restart- un seul mot lui indiquant 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 utilisée, est la méthode recommandée. serviceremplace progressivement tous les scripts init.d, vous devriez donc vous habituer à utiliser servicename__. La page que vous associez a 3 ans, vous devez donc la prendre avec du sel :)

221
Caesium

Permet également de vérifier que "mysql" est le nom de service correct. Dans mon cas, ça ne l'était pas. 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é le script nommé mysqld qui a donné le nom du processus: mysqld et prog = mysqld

Alors j'ai fait

service mysqld status
service mysqld stop
service mysqld start 

et ils ont tous bien fonctionné.

83
user140589

Pour Ubuntu 12.10 et versions ultérieures:

START MYSQL:

Sudo start mysql

RESTART MYSQL:

Sudo restart mysql # The service must be running

STOP MYSQL:

Sudo stop mysql # The service must be running
30
Lucio

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 compris que le serveur MySQL n'était pas installé, je l'ai donc installé et mon problème a été résolu. La commande pour installer mysql-server est:

Sudo apt-get install mysql-server

Une fois l'installation réussie, démarrez le serveur MySQL en tant que:

service mysql start
9
Akash5288

J'ai eu le même problème avec Ubuntu64 et j'ai corrigé en n'utilisant tout simplement pas systemctl, mais plutôt ceci:

Sudo service mysql restart

espérons que cette commande fonctionnera pour vous.

4
Faisal Julaidan

Celui-ci devrait fonctionner pour le serveur mysql construit manuellement:

Sudo /usr/local/mysql/bin/mysqld_safe --user=mysql
2
Aram Paronikyan

après avoir installé MySQL sur votre système, procédez comme suit:

$ statut mysql du service

si le service ne fait que ceci:

$ service mysql start

et pour arrêter mon service que:

$ service mysql stop

1
Manochehr Rasouli

Un petit script pour couvrir les deux cas [serveur en cours d'exécution/serveur en cours d'exécution]:

#!/bin/bash

service mysql restart
if [ "$?" != "0" ]; then
  service mysql start
fi
0
ReverseEMF

Sur Ubuntu 18.04, le socket est défini dans le fichier

 /etc/mysql/mysql.conf.d/mysqld.cnf

 socket     = /var/run/mysqld/mysqld.sock

Le répertoire n'était pas présent alors je l'ai créé manuellement comme ci-dessous:

Sudo mkdir -p /var/run/mysqld

Redémarrez mysql. Cela l'a résolu pour mon cas ici.

0
Noel