Rumah >pangkalan data >tutorial mysql >Mengapa Hos Kad Liar MySQL '%' Tidak Memberi Akses Jauh Secara Automatik?

Mengapa Hos Kad Liar MySQL '%' Tidak Memberi Akses Jauh Secara Automatik?

Patricia Arquette
Patricia Arquetteasal
2024-12-14 01:30:10974semak imbas

Why Doesn't MySQL's Wildcard Host '%' Automatically Grant Remote Access?

Akses Jauh untuk Pengguna MySQL

Apabila cuba mewujudkan sambungan jauh ke pangkalan data MySQL menggunakan pengguna pengguna@'%' dan kata laluan kata laluan, sambungan gagal walaupun aksara kad bebas % menandakan akses daripada mana-mana hos.

Sebab untuk Kegagalan

Kad bebas aksara % dalam medan hos pengguna MySQL tidak memberikan akses jauh secara automatik. Untuk menyambung dari jauh, langkah berikut diperlukan:

  1. Ikat MySQL ke Alamat IP Mesin: Konfigurasikan MySQL untuk mengikat port 3306 ke alamat IP mesin anda dalam my.cnf (atau my.ini pada Windows) sebagai berikut:

    bind-address        = xxx.xxx.xxx.xxx
  2. Buat Pengguna dalam Localhost dan Wildcard: Cipta pengguna dalam hos localhost dan % wildcard menggunakan arahan berikut:

    CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
    CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
  3. Berikan Kebenaran: Berikan penuh kebenaran pada semua pangkalan data kepada pengguna daripada localhost dan wildcard:

    GRANT ALL ON *.* TO 'myuser'@'localhost';
    GRANT ALL ON *.* TO 'myuser'@'%';
    FLUSH PRIVILEGES;

Pertimbangan Tambahan

  • Bergantung pada sistem pengendalian anda , anda mungkin perlu membuka port 3306 untuk membenarkan sambungan jauh.
  • Pastikan bahawa Konfigurasi MySQL termasuk pilihan skip-name-resolve untuk menghalang carian DNS.
  • Uji sambungan jauh dengan arahan berikut:

    mysql -h <hostname> -u myuser -pmypass

Atas ialah kandungan terperinci Mengapa Hos Kad Liar MySQL '%' Tidak Memberi Akses Jauh Secara Automatik?. 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