Jika anda menemui mesej ralat berikut semasa menggunakan PHP untuk menyambung ke pangkalan data MySQL:
Amaran PHP: mysqli_connect(): (HY000/2002): Sambungan ditolak
Kemudian anda boleh cuba langkah berikut untuk menyelesaikan masalah ini.
Mula-mula anda harus menyemak sama ada perkhidmatan MySQL berjalan seperti biasa Jika perkhidmatan tidak berjalan atau gagal, ia boleh menyebabkan ralat ditolak sambungan. Anda boleh menyemak status perkhidmatan MySQL dengan arahan berikut:
$ systemctl status mysql.service
Jika perkhidmatan MySQL tidak berjalan, anda boleh memulakan perkhidmatan dengan arahan berikut:
$ systemctl start mysql.service
Jika perkhidmatan MySQL sudah berjalan, anda perlu menyemak sama ada perkhidmatan MySQL mendengar pada port yang betul. Secara lalai, port mendengar perkhidmatan MySQL ialah 3306. Anda boleh menyemak port yang diikat oleh perkhidmatan MySQL melalui arahan berikut:
$ netstat -an | grep 3306
Jika perkhidmatan MySQL tidak terikat pada port yang betul, anda perlu mengkonfigurasi dalam fail konfigurasi MySQL ( my.cnf):
[mysqld]
port=3306
Selepas mengubah suai fail konfigurasi, anda perlu memulakan semula perkhidmatan MySQL untuk pengubahsuaian kepada berkuat kuasa:
$ systemctl mulakan semula mysql.service
Jika perkhidmatan MySQL berjalan dengan betul dan mendengar pada port yang betul, anda perlu menyemak pengguna Adakah nama dan kata laluan betul? Apabila menyambung ke MySQL, anda perlu menggunakan nama pengguna dan kata laluan yang betul untuk log masuk ke pelayan MySQL. Jika anda tidak pasti sama ada nama pengguna dan kata laluan adalah betul, anda boleh cuba log masuk menggunakan nama pengguna dan kata laluan ini dalam antara muka baris arahan MySQL:
$ mysql -u nama pengguna -p
Dalam arahan ini, Anda perlu menggantikan "nama pengguna" dengan nama pengguna yang anda ingin gunakan, dan kemudian masukkan kata laluan pengguna ini untuk log masuk ke pelayan MySQL. Jika log masuk berjaya, bermakna nama pengguna dan kata laluan yang anda masukkan adalah betul.
Langkah terakhir ialah mengesahkan sama ada pengguna yang menyambung ke MySQL mempunyai kebenaran yang mencukupi untuk mengakses pangkalan data yang perlu digunakan . Apabila menyambung ke pelayan MySQL, anda perlu menentukan nama pangkalan data untuk disambungkan. Jika pangkalan data yang ditentukan tidak wujud atau anda tidak mempunyai kebenaran untuk mengakses pangkalan data, sambungan akan ditolak.
Anda boleh menyemak kebenaran pengguna MySQL dengan menjalankan arahan berikut:
$ mysql -u nama pengguna -p -e "TUNJUKKAN GERAN UNTUK nama pengguna;"
Dalam ini Dalam arahan, anda perlu menggantikan "nama pengguna" dengan pengguna MySQL yang kebenarannya anda ingin tanya. Selepas melaksanakan arahan ini, anda boleh melihat kebenaran pengguna ini.
Jika pangkalan data yang anda ingin akses tidak wujud atau tidak mempunyai kebenaran akses, anda perlu menggunakan arahan berikut dalam antara muka baris arahan MySQL untuk mencipta atau memberikan kebenaran akses:
CREATE PANGKALAN DATA dbname;
BERIKAN SEMUA KEISTIMEWAAN PADA dbname.* KEPADA 'nama pengguna'@'localhost';
Dalam arahan ini, anda perlu menggantikan "dbname" dengan nama pangkalan data yang anda ingin cipta, dan "nama pengguna" dengan nama pangkalan data yang anda ingin beri kebenaran nama pengguna MySQL.
Ringkasan
Melalui langkah di atas, anda sepatutnya dapat menyelesaikan Amaran PHP: mysqli_connect(): (HY000/2002): Ralat penolakan sambungan. Pertama, anda perlu menyemak sama ada perkhidmatan MySQL telah dimulakan dan sedang mendengar pada port yang betul, kedua, anda perlu mengesahkan sama ada nama pengguna dan kata laluan yang dimasukkan adalah betul, anda perlu menyemak sama ada pengguna MySQL mempunyai kebenaran untuk; mengakses pangkalan data.
Atas ialah kandungan terperinci Amaran PHP: mysqli_connect(): (HY000/2002): Penyelesaian kepada Sambungan ditolak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!