Rumah >pangkalan data >tutorial mysql >Mengapa Sambungan PHP 5.3.0 Saya ke Pangkalan Data MySQL Lama Gagal dengan \'paket OK 6 bait lebih pendek daripada jangkaan\'?

Mengapa Sambungan PHP 5.3.0 Saya ke Pangkalan Data MySQL Lama Gagal dengan \'paket OK 6 bait lebih pendek daripada jangkaan\'?

Susan Sarandon
Susan Sarandonasal
2024-11-03 21:30:03746semak imbas

Why Does My PHP 5.3.0 Connection to an Older MySQL Database Fail with

Isu Keserasian PHP MySQL

Apabila menyambung ke pangkalan data MySQL jauh daripada pelayan WAMP tempatan yang menjalankan PHP 5.3.0, ralat berlaku:

Warning: mysql_connect() [function.mysql-connect]: OK packet 6 bytes shorter than expected. PID=5880 in ...
Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using old authentication in ...

Isu ini biasanya nyata apabila menyambung ke pangkalan data MySQL yang lebih lama (mis., versi 5.0.22) tetapi bukan kepada yang lebih baharu (mis., versi 5.0.45).

Punca:

Masalah timbul apabila akaun MySQL yang digunakan mempunyai cincang kata laluan 16 aksara lama.

Penyelesaian:

Untuk menyelesaikan isu, tetapkan semula kata laluan untuk akaun yang bermasalah untuk menggunakan format kata laluan moden. Jalankan pertanyaan berikut dalam klien MySQL:

SET PASSWORD FOR 'username'@'hostmask' = PASSWORD('thepassword');

Maklumat Tambahan:

Untuk mengesahkan sama ada cincangan kata laluan memang lama, jalankan pertanyaan berikut pada yang lebih lama Pelayan MySQL (versi 5.0.22):

SELECT
  Length(`Password`),
  Substring(`Password`, 1, 1)
FROM
  `mysql`.`user`
WHERE
  `user`='username';

Jika medan 'Panjang' mengembalikan 16 dan medan 'Subrentetan' mengembalikan aksara '*', cincang kata laluan adalah lama.

Atas ialah kandungan terperinci Mengapa Sambungan PHP 5.3.0 Saya ke Pangkalan Data MySQL Lama Gagal dengan \'paket OK 6 bait lebih pendek daripada jangkaan\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn