Ralat Sambungan MySQL Jauh: "Hos Tidak Dibenarkan"
Menyambung dari jauh ke MySQL kadangkala boleh mengakibatkan mesej ralat "Host 'xxx. xx.xxx.xxx' tidak dibenarkan menyambung ke pelayan MySQL ini." Walaupun mempunyai entri pengguna akar dengan nilai hos 'localhost' dan '%', sambungan gagal.
Isu ini biasanya dihadapi disebabkan oleh langkah keselamatan yang dilaksanakan oleh MySQL. Satu penyelesaian yang mungkin adalah untuk mencipta pengguna pentadbiran baharu dengan keistimewaan tertentu dan sekatan akses:
Mencipta Pengguna Pentadbiran Baharu:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' -> WITH GRANT OPTION; mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' -> WITH GRANT OPTION;
Sambil memberikan keistimewaan yang luas adalah mudah , ia tidak disyorkan kerana risiko keselamatan. Sebaliknya, adalah bijak untuk:
Soalan Lazim MySQL Insight:
Soalan Lazim MySQL memberikan penjelasan lanjut tentang isu ini:
"Jika anda tidak dapat mengetahui sebab anda mendapat 'Akses ditolak', alih keluar semua entri jadual pengguna yang mempunyai nilai hos yang mengandungi kad bebas (cth., '% atau _'). Ia adalah perkara biasa untuk memasukkan entri secara tidak sengaja dengan host='%' dan user='some_user' untuk mendayakan sambungan localhost Walau bagaimanapun, ia tidak akan berfungsi kerana keistimewaan lalai termasuk entri dengan host='localhost' dan user='' Entri localhost lebih spesifik dan sebaliknya akan digunakan untuk membenarkan sambungan localhost, masukkan entri kedua dengan host='localhost' dan user='some_user', atau padam localhost lalai. masuk dan keluarkan kenyataan FLUSH PRIVILEGES."
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Hos 'xxx.xx.xxx.xxx' Tidak Dibenarkan Menyambung ke Pelayan MySQL Ini' Walaupun dengan '%' Kemasukan Hos?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!