Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat 'Hos 'xxx.xx.xxx.xxx' Tidak Dibenarkan Menyambung ke Pelayan MySQL Ini' Walaupun dengan '%' Kemasukan Hos?

Mengapa Saya Mendapat 'Hos 'xxx.xx.xxx.xxx' Tidak Dibenarkan Menyambung ke Pelayan MySQL Ini' Walaupun dengan '%' Kemasukan Hos?

DDD
DDDasal
2024-12-20 18:06:11670semak imbas

Why Do I Get

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:

  • Menghadkan akses pengguna kepada hos dan IP tertentu yang diperlukan.
  • Berikan hanya keistimewaan yang diperlukan untuk tugas yang sedang dijalankan.

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!

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