Ralat sambungan Mysql: HOST '' Tidak dapat menyambung ke pelayan MySQL
Apabila cuba menyambung ke MySQL menggunakan arahan mysql Apabila cuba menyambung ke pelayan, anda menerima mesej ralat berikut:
ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server
Ralat ini menunjukkan bahawa pelayan telah dikonfigurasikan untuk membenarkan hanya hos tertentu menyambung dan hos anda tiada dalam senarai yang dibenarkan .
Semak kebenaran pengguna root
Dalam kes anda, anda telah menetapkan bind-address kepada 0.0.0.0 dalam my.cnf yang bermaksud pelayan harus Menerima sambungan daripada semua hos. Walau bagaimanapun, anda masih tidak boleh menyambung. Ini mungkin kerana pengguna root hanya dibenarkan untuk menyambung daripada localhost.
Untuk menyemak ini, jalankan pertanyaan berikut:
SELECT host FROM mysql.user WHERE User = 'root';
Jika keputusan tidak mengandungi nama hos atau alamat IP yang anda cuba sambungkan, anda perlu memberikan kebenaran kepada pengguna akar daripada hos itu Kebenaran untuk menyambung.
Berikan kebenaran untuk menyambung
Untuk memberikan kebenaran pengguna root untuk menyambung daripada hos tertentu, gunakan arahan berikut:
CREATE USER 'root'@'host_ip' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'host_ip';
di mana host_ip ialah Alamat IP hos yang anda ingin benarkan sambungan.
Jika anda ingin memberikan kebenaran sambungan kepada semua hos, anda boleh menggunakan kad bebas %:
CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
Akhir sekali, muat semula kebenaran untuk berkuat kuasa serta-merta:
FLUSH PRIVILEGES;
Sekarang, anda harus Keupayaan untuk menggunakan arahan mysql untuk menyambung ke pelayan MySQL daripada hos jauh yang ditentukan.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menyambung ke Pelayan MySQL Saya daripada Hos Jauh Walaupun `bind-address = 0.0.0.0`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!