Rumah > Soal Jawab > teks badan
Ubah suai pengguna root supaya boleh log masuk apabila bukan tempatan
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
Selepas melengkapkan langkah di atas, saya menghadapi masalah:
Apabila saya tempatanmysql -uroot回车
, saya boleh log masuk terus selepas menekan Enter
Tetapi saya tidak boleh log masuk melalui kata laluan:
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>
Kenapa ni?
習慣沉默2017-05-18 10:54:20
localhost tiada dalam %
mysql -uroot -h127.0.0.1 -p
dan
mysql -uroot -p
setara dengan log masuk dengan 2 pengguna
kemas kini hos set pengguna='%' di mana pengguna='root';
Dan jika anda menukarnya seperti ini, ia adalah bersamaan dengan mengubah suai tiga rekod di atas, jadi sistem menggesa anda "ERROR 1062 (23000): Entri pendua ' %-root' ' untuk kunci 'PRIMER' adalah salah kerana medan Hos dan Pengguna ialah kunci utama komposit dan bukan unik
Jadi, pelaksanaan kenyataan ini LZ sebenarnya tidak berjaya. Jadi tidak perlu melihat lebih jauh dari langkah ini.