suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Probleme, nachdem der Root-Benutzer von MySQL so eingestellt wurde, dass er über das externe Netzwerk erreichbar ist

Ändern Sie den Root-Benutzer, um sich anmelden zu können, wenn er nicht lokal ist

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

Nachdem ich die oben genannten Schritte ausgeführt habe, bin ich auf ein Problem gestoßen:
Wenn ich vor Ort binmysql -uroot回车, kann ich mich direkt anmelden, nachdem ich die Eingabetaste gedrückt habe

Aber ich kann mich nicht mit dem Passwort anmelden:

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>

Warum ist das so?

PHP中文网PHP中文网2752 Tage vor868

Antworte allen(1)Ich werde antworten

  • 習慣沉默

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

    localhost不在%里
    mysql -uroot -h127.0.0.1 -p

    mysql -uroot -p
    相当于用2个用户登录

    update user set host='%' where user='root';
    而且你这样更改,相当于把上面3条记录都修改了,所以系统提示你"ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'错误了,因为Host,User字段是复合主键不唯一。

    所以,LZ执行这条语句,其实是不成功的。所以从这一步往下都不用看了。

    Antwort
    0
  • StornierenAntwort