mysql -u root ne fonctionne pas mais sudo mysql -u root le fait, pourquoi?


9

J'ai récemment suivi quelques tutoriels et installé mysql en utilisant sudo apt-get install mysql-server-5.7

Je peux me connecter à la base de données en utilisant un mot de passe en exécutant la commande suivante:

sudo mysql -u root -p

J'essaie de me connecter en exécutant:

mysql -u root -p

mais je reçois l'erreur:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Pourquoi? Comment puis-je réparer cela?


2
cher downvoter, pouvez-vous également laisser tomber une raison de downvote, au moins une explication pourquoi c'est une question stupide?
user1379280

Cela pourrait être lié. Regardez certaines des réponses: askubuntu.com/questions/766334/…
Terrance

Avez-vous défini un mot de passe root pour mysql lors de l'installation?
Steeldriver

@steeldriver: oui je l'ai fait
user1379280

Réponses:


23
  1. Accès avec sudo: sudo mysql -u root -p
  2. Supprimez l'utilisateur root: drop user 'root'@'localhost';
  3. Créez à nouveau l'utilisateur root: create user 'root'@'%' identified by 'your_password';
  4. Accordez des autorisations: grant all privileges on *.* to 'root'@'%' with grant option;
  5. Mettre à jour les tables d'autorisation: flush privileges;
  6. Quittez MYSQL et essayez de vous reconnecter sans sudo.

Police: impossible de se connecter en tant qu'utilisateur root mysql à partir du compte utilisateur normal dans Ubuntu 16.04


Merci! Ces étapes ont également fonctionné pour moi et je n'ai plus besoin sudod'utiliser mysql! On dirait que remplacer l'hôte localhostpar %résolu le problème pour moi.
Vikram Hosakote

mais ne peut toujours pas accéder à distance
Ciasto piekarz

Ça n'a pas marché pour moi, maintenant je ne peux pas entrer avec ou sans sudo!
David Powell
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.