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.