Desktop host tidak diizinkan untuk terhubung ke server mysql ini

Trova e condividi soluzioni con la nostra community attiva, attraverso forum, gruppi di utenti e idee

panduan

Sfoglia the elenco complete dei manual and delle guide dei prodotti. Tersedia dalam format online, offline e PDF

Formazion e tutorial

Scopri datang memperoleh dimestichezza con i prodotti Tableau grazie alla nostra formazione on-demand, live o in aula

Dalam artikel singkat ini, Anda akan mempelajari cara mengatasi “ERROR 1130 (HY000). Tuan rumah x. x. x. x tidak diizinkan untuk terhubung ke kesalahan server MySQL ini” dalam penyebaran database MySQL/MariaDB pada sistem Linux. Ini adalah salah satu kesalahan koneksi database jarak jauh yang umum ditemui oleh pengguna

Lingkungan Uji

  • IP Server Aplikasi. 10. 24. 96. 5
  • IP Server Basis Data. 10. 24. 96. 6

Kami mengalami kesalahan saat menguji koneksi database dari salah satu server aplikasi kami ke server database, menggunakan klien mysql seperti yang ditunjukkan

# mysql -u database_username -p -h 10.24.96.6
Desktop host tidak diizinkan untuk terhubung ke server mysql ini
Desktop host tidak diizinkan untuk terhubung ke server mysql ini
Kesalahan Koneksi Database Jarak Jauh MySQL

Kesalahan menunjukkan bahwa host 10. 24. 96. 5 yang menghubungkan pengguna basis data tidak diizinkan untuk terhubung ke server MySQL. Dalam hal ini, kita harus membuat beberapa perubahan pada server database untuk memungkinkan pengguna terhubung dari jarak jauh

Di server basis data, kita harus memeriksa host tempat pengguna di atas diizinkan untuk terhubung

# mysql -u root -p
_

Jalankan perintah SQL berikut untuk memeriksa host pengguna

MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";
Desktop host tidak diizinkan untuk terhubung ke server mysql ini
Desktop host tidak diizinkan untuk terhubung ke server mysql ini
Periksa Host Pengguna MySQL

Dari output perintah tersebut, pengguna hanya diperbolehkan untuk terhubung ke server database dari localhost. Jadi, kita perlu memperbarui host pengguna sebagai berikut

Jalankan perintah GRANT berikut untuk mengaktifkan akses MySQL untuk pengguna jarak jauh dari host jarak jauh. Pastikan untuk mengganti “10. 24. 96. 6" dengan alamat IP dari sistem jarak jauh, dan "database_password" dengan kata sandi yang ingin Anda gunakan "database_username"

MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.5' IDENTIFIED BY 'database_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";
Desktop host tidak diizinkan untuk terhubung ke server mysql ini
Desktop host tidak diizinkan untuk terhubung ke server mysql ini
Aktifkan Akses Database MySQL Jarak Jauh ke Pengguna dari Host Jarak Jauh

Untuk memberi pengguna akses jarak jauh dari semua host di jaringan, gunakan sintaks di bawah ini

MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.%' IDENTIFIED BY 'database_password';
_

Setelah melakukan perubahan di atas, coba sambungkan dari jarak jauh ke server database MySQL sekali lagi. Koneksi harus berhasil seperti yang ditunjukkan pada tangkapan layar berikut

# mysql -u database_username -p -h 10.24.96.6
Desktop host tidak diizinkan untuk terhubung ke server mysql ini
Desktop host tidak diizinkan untuk terhubung ke server mysql ini
Hubungkan ke Server Database MySQL Jarak Jauh

Kami harap solusi ini membantu Anda memecahkan kesalahan koneksi jarak jauh Mysql Anda. Jika ada pertanyaan, hubungi kami melalui formulir umpan balik di bawah ini

Di MySQL, host diizinkan (daftar putih) per pengguna. Jadi kesalahan ini berarti pengguna yang Anda coba sambungkan tidak memasukkan host jarak jauh Anda ke daftar putih. Anda mungkin mencoba terhubung dengan pengguna 'root', yang secara default hanya mengizinkan koneksi dari localhost. Inilah tampilannya dalam konfigurasi pengguna

Desktop host tidak diizinkan untuk terhubung ke server mysql ini
MySQL Workbench – Pengguna dan Keistimewaan

Untuk memperbaikinya, tambahkan pengguna yang mengizinkan host Anda. Untuk mengizinkan host apa pun, gunakan simbol wildcard %. Anda dapat menambahkan pengguna dari baris perintah atau dengan klien UI (seperti MySQL Workbench atau phpMyAdmin). Saya akan menunjukkan contoh di bawah untuk menambahkan pengguna yang mengizinkan host apa pun

Catatan. Saya tidak menyarankan memodifikasi pengguna 'root'

Solusi – Tambahkan pengguna yang mengizinkan host apa pun

Katakanlah Anda mencoba terhubung ke server MySQL internal yang digunakan di lingkungan dev, jadi Anda ingin menambahkan pengguna yang mengizinkan semua host dan diberikan semua hak istimewa

Pertama, masuk ke server yang menjalankan MySQL. Kemudian jalankan MySQL Command Line Client (mysql. exe)

Tambahkan pengguna dengan kata sandi dan izinkan semua host

mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'password123';

Code language: Bash (bash)
_

Catatan. % adalah simbol wildcard yang berarti semua host. Jadi @’%’ berarti Anda mengizinkan pengguna ini untuk terhubung dari host mana pun

Berikan semua hak istimewa kepada pengguna untuk semua skema

mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

Code language: Bash (bash)

Catatan. WITH GRANT OPTION memungkinkan pengguna untuk memberikan hak istimewa kepada pengguna lain

Sekarang Anda seharusnya dapat terhubung dari host jarak jauh dengan pengguna / kata sandi yang baru saja Anda buat. Jika Anda masih mendapatkan kesalahan koneksi, Anda mungkin perlu menghapus hak istimewa yang di-cache (saya tidak perlu)

mysql> FLUSH PRIVILEGES;

_

Memulai mysql. exe secara manual

Jika Anda mendapatkan kesalahan seperti 'mysql. exe tidak diketahui' atau jika Anda tidak dapat menemukan pintasan Klien Baris Perintah MySQL, maka Anda dapat memulainya secara manual menggunakan jalur lengkap dan meneruskan beberapa parameter

Bagaimana Anda mengatasi host tidak diizinkan untuk menghubungkan server MySQL ini?

[Fixed] Host tidak diizinkan untuk terhubung ke server MySQL ini .
Aktifkan koneksi jarak jauh dari konfigurasi
Buat pengguna baru dan izinkan untuk terhubung ke server basis data dari host tertentu (atau semua host)
Hak istimewa siram

Bagaimana cara mengizinkan host untuk terhubung ke server MySQL?

Cara Mengizinkan Koneksi Jarak Jauh ke MySQL .
Langkah 1. Edit File Konfigurasi MySQL
Langkah 2. Siapkan Firewall untuk Mengizinkan Koneksi MySQL Jarak Jauh. Pilihan 1. Opsi UFW (Firewall Tidak Rumit) 2. FirewallD. Opsi 3. Buka Port 3306 dengan iptables
Langkah 3. Hubungkan ke Server MySQL Jarak Jauh

Mengapa server MySQL saya tidak terhubung?

Berikut adalah beberapa alasan kesalahan Tidak dapat terhubung ke server MySQL lokal mungkin terjadi. mysqld tidak berjalan di host lokal . Periksa daftar proses sistem operasi Anda untuk memastikan proses mysqld ada. Anda menjalankan server MySQL di Windows dengan banyak koneksi TCP/IP.

Bagaimana cara memeriksa apakah MySQL dapat dijangkau di port 3306?

Cara yang benar adalah menggunakan. sudo lsof -i. 3306 .