Error MySQL Tidak Bisa Connect ke MySQL 4.1

Error MySQL Tidak Bisa Connect ke MySQL 4.1

Setelah upgrade server PHP dari PHP 5.3.3 ke PHP 5.6.x, dengan MySQL Server 5.1.x, ada beberapa aplikasi web yang menunjukan error connection. Lebih tepatnya adalah error dengan pesan “mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.”

Gunakan administration tool untuk mereset dengan menggunakan command SET PASSWORD = PASSWORD(‘password_lama_kamu’). Command ini akan menyimpan nilai hash baru yang lebih aman di mysql.user. Jika user ini menggunakan script lain yang dieksekusi oleh PHP 5.2 atau versi dibawahnya kamu akan membutuhkan untuk menghapus password lama dari file my.cnf.

Hal ini terjadi karena php client mysqlnd baru, menolak untuk bekerja dengan password lama dari MySQL. Jadi, bahkan jika kamu mempunyai old_password=1, hal ini tidak akan bekerja pada aplikasi web baru, yang membutuhkan password yang lebih kuat.

Bagaimana Cara Untuk Memperbaiki Error MySQLnd Tidak Bisa Connect ke MySQL 4.1+ Menggunakan Autentikasi Lama Yang Tidak Aman?

Error MySQLnd tidak bisa connect ke MySQL 4.1 ini dapat diperbaiki dengan cara yang mudah dengan mengikuti langkah-langkah berikut ini:

Edit file configuration MYSQL:

nano -w /etc/my.cnf

Ganti:

old_passwords=1

Ke:

old_passwords=0

Apply perubahan ini:

service mysqld restart

Hubungkan ke konsol MySQL sebagai root:

mysql -u root -p

Sekarang reset password pengguna dengan menggunakan hash baru:

SET PASSWORD FOR 'mysqluser'@'localhost'=PASSWORD('passwordhere');
flush privileges;

Ganti ‘mysqluser’ dan ‘passwordhere’ dengan usernama dan password yang asli.

Sekarang kembali ke /etc/my.cnf, dan ganti perubahan yang sebelumnya, ganti menjadi:

old_password=1

Restart MySQL untuk apply perubahan ini:

service mysqld restart

Semuanya telah selesai, kini user dapat menggunakan password hash MySQL yang lebih kuat. Hal ini dapat diverifikasi dari konsol MySQL menggunakan command berikut ini:

mysql> SELECT user, Length(Password) FROM mysql.user;
+------------------+------------------+
| user | Length(Password) |
+------------------+------------------+
| root | 16 |
| forum_user | 16 |
| user2 | 41 |
| lorex | 41 |
| m3user | 16 |

Jika kamu melihat angka 41 berarti pengguna menggunakan password baru, sementara jika melihat angka 16 masih menggunakan hash yang lama.

Dengan semua ini, error MySQL tidak bisa connect ke MySQL 4.1 menggunakan autentikasi lama yang kurang aman seharusnya sudah diperbaiki dan kamu kini dapat bekerja normal.

 

Jakartawebhosting.com menyediakan layanan PHP Hosting, dengan kecepatan dan stabilitas pusat data dan server yang baik, up time server 99,9%, team support yang siap membantu 24 jam dan biaya langganan yang menarik.

You may also like...