Maison  >  Questions et réponses  >  le corps du texte

Problèmes après avoir configuré l'utilisateur root de MySQL pour qu'il soit accessible depuis le réseau externe

Modifiez l'utilisateur root pour pouvoir se connecter lorsqu'il n'est pas local

mysql> use mysql;
Database changed
mysql> select host,user from user;
+-----------+------+
| host      | user |
+-----------+------+
| 127.0.0.1 | root |
| ::1       | root |
| localhost | root |
+-----------+------+
3 rows in set (0.00 sec)

mysql> update user set host='%' where user='root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit;
Bye

Après avoir effectué les étapes ci-dessus, j'ai rencontré un problème :
Lorsque je suis localmysql -uroot回车, je peux me connecter directement après avoir appuyé sur Entrée

Mais je ne parviens pas à me connecter via un mot de passe :

C:\wamp\mysql\bin>mysql -uroot -p
Enter password: *********
ERROR 1045 (28000): Access denied for user 'root'@'localhost' 
(using password: YES)

C:\wamp\mysql\bin>

Pourquoi est-ce ?

PHP中文网PHP中文网2712 Il y a quelques jours841

répondre à tous(1)je répondrai

  • 習慣沉默

    習慣沉默2017-05-18 10:54:20

    localhost n'est pas dans %
    mysql -uroot -h127.0.0.1 -p
    et
    mysql -uroot -p
    équivalent à une connexion avec 2 utilisateurs

    mettre à jour l'utilisateur set host='%' où user='root';
    Et si vous le modifiez comme ceci, cela équivaut à modifier les trois enregistrements ci-dessus, donc le système vous demande « ERREUR 1062 (23000) : Entrée en double » %-root' ' pour la clé 'PRIMARY' est erroné car les champs Hôte et Utilisateur sont des clés primaires composites et ne sont pas uniques

    .

    Donc, l’exécution de cette déclaration par LZ est en réalité un échec. Il n’est donc pas nécessaire de s’éloigner de cette étape.

    répondre
    0
  • Annulerrépondre