Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tidak dapat terhubung ke MySQL 4.1+ menggunakan otentikasi lama

edit:Ini hanya berlaku jika Anda mengendalikan server MySQL... jika Anda tidak melihat Metode hashing kata sandi MySQL lama vs baru

Pertama periksa dengan kueri SQL

SHOW VARIABLES LIKE 'old_passwords'

(di klien baris perintah MySQL, HeidiSQL atau ujung depan apa pun yang Anda suka) apakah server diatur untuk menggunakan skema kata sandi lama secara default. Jika ini mengembalikan old_passwords,Off Anda kebetulan memiliki entri kata sandi lama di user meja. Server MySQL akan menggunakan rutin otentikasi lama untuk akun ini. Anda cukup mengatur kata sandi baru untuk akun dan rutinitas baru akan digunakan.

Anda dapat memeriksa rutin mana yang akan digunakan dengan melihat mysql.user tabel (dengan akun yang memiliki akses ke tabel itu)

SELECT `User`, `Host`, Length(`Password`) FROM mysql.user

Ini akan mengembalikan 16 untuk akun dengan sandi lama dan 41 untuk akun dengan kata sandi baru (dan 0 untuk akun tanpa kata sandi sama sekali, Anda mungkin ingin mengurusnya juga).
Gunakan alat manajemen pengguna dari front end MySQL (jika ada) atau

SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges;

(ganti User dan Host dengan nilai yang Anda dapatkan dari kueri sebelumnya.) Kemudian periksa lagi panjang kata sandi. Seharusnya 41 sekarang dan klien Anda (mis. mysqlnd) seharusnya dapat terhubung ke server.

lihat juga dokumentasi MySQL:* http://dev. mysql.com/doc/refman/5.0/en/old-client.html
* http://dev.mysql. com/doc/refman/5.0/en/password-hashing.html
* http://dev.mysql. com/doc/refman/5.0/en/set-password.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Memilih dari dua Tabel dengan gabungan dan batas dalam

  2. Bagaimana cara menghapus duplikat pada tabel MySQL?

  3. Kode PHP untuk mengonversi kueri MySQL ke CSV

  4. Bagaimana cara memasukkan beberapa nilai kotak centang ke dalam tabel?

  5. Apa perbedaan antara INNER JOIN, LEFT JOIN, RIGHT JOIN dan FULL JOIN?