Menetapkan semula kata laluan pengguna dalam MySQL 8.0: Panduan langkah demi langkah
P粉724737511
P粉724737511 2024-01-01 11:05:08
0
1
535

Soalan dan butiran saya

Saya ingin menukar kata laluan pengguna dalam MySQL8.0, tetapi hampir tiada kaedah dalam talian kelihatan berfungsi.

Berikut ialah butiran jadual mysql.user saya:

mysql> select user, host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Excalibur        | %         |
| yyy              | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+

Apa yang saya buat

Saya telah mencuba arahan berikut:

alter user 'yyy'@'%' identified with mysql_native_password by '12345';

dan menerima mesej ralat:

ERROR 1396 (HY000): Operation ALTER USER failed for 'yyy'@'%'

Saya juga cuba memanipulasi jadual mysql.user sendiri:

update user set authentication_string=sha1('12345') where user = 'yyy' ;
flush privileges;

Semasa ia berfungsi, Saya tidak boleh log masuk ke yyy melalui (apa yang saya sepatutnya) kata laluan 12345. Kemudian saya melihat pada meja dan ia kelihatan sangat pelik:

+------------------+-----------+------------------------------------------------------------------------+
| user             | host      | authentication_string                                                  |
+------------------+-----------+------------------------------------------------------------------------+
| Excalibur        | %         | $Arrreee5$tE.D2|7^FTRYjmg1APzveuTWyJ1BaO2al1GKvO3UJO6ZlX06jqbNkT5 |
| yyy              | %         | 8cb2237d0679ca88db6464eac60da96345513964                               |
| mysql.infoschema | localhost | $Arrreee5$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session    | localhost | $Arrreee5$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
...

P粉724737511
P粉724737511

membalas semua(1)
P粉022285768

Untuk MySQL 8.0

Pengguna biasa menggunakan arahan berikut untuk menukar kata laluan mereka

ALTER USER 'userName'@'localhost' IDENTIFIED BY 'New-Password-Here';

Untuk pengguna root, gunakan arahan berikut untuk menukar kata laluan

P.S Semak menggunakan kata laluan dengan "$A$005$", pemalam pengesahan caching_sha2_password harus digunakan, tanpa "WITH caching_sha2_password" ia tidak akan berfungsi untuk pengguna root. Jika ia adalah pengguna umum Keizinan perlu diberikan.

ALTER USER 'userName'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'New-Password-Here';
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan