Saya telah mengembangkan aplikasi di VB6, dan saya menggunakan server database MySQL online untuk menyimpan data aplikasi saya.
Pertama kali saya mencoba terhubung ke server database saya berhasil, tetapi setelah menutup aplikasi saya dan memulainya lagi saya mendapatkan:
Tidak dapat terhubung ke server MySQL (10060) "
Setelah beberapa waktu (sekitar 30 menit), saya berhasil terhubung ke database lagi.
- Saya telah memberikan nilai maksimum untuk semua sistem MySQL dan variabel global seperti connection_timeout , wait_timeout dll.
- Saya telah memberikan semua izin kepada pengguna MySQL saya.
- Firewall di komputer saya dimatikan.
- Semua koneksi ditutup dengan benar ketika aplikasi ditutup.
Saya telah bertanya kepada orang-orang teknis yang menyediakan layanan Database MySQL Online dan mereka memberi saya tiga alasan berikut:
- Mesin lokal dari tempat Anda mencoba untuk terhubung tidak masuk daftar putih di server.
- Jumlah koneksi maksimum untuk pengguna telah terlampaui.
- Server MySQL sedang down pada saat itu (meskipun mereka mengatakan bahwa server mereka tidak down).
Bagaimana saya bisa menyelesaikan dua alasan pertama, atau menentukan bahwa mereka adalah penyebab masalah? Atau mungkinkah ada masalah lain yang tidak terdaftar di sana?
mysql
connectivity
Ashok Gujjar
sumber
sumber
Jawaban:
Anda perlu memastikan ada:
1) pengguna dibuat yang memiliki akses jarak jauh misalnya pengguna @ 'xxxx'
2) ada koneksi dari dua mesin (mereka bisa saling ping misalnya atau mengakses satu sama lain dengan metode lain) port dibuka antara dua mesin
3) di
my.ini/my.cnf
sana memblokir parameter koneksi seperti:bind-address=a.a.a.a
atauskip-networking
4) layanan aktif dan berjalan ketika Anda mencoba untuk terhubung dari mesin lain
sumber
Kemungkinan besar ini adalah masalah sisi jaringan dan penyedia layanan basis data perlu membuat aturan baru di firewall (iptables). Masih kita hanya perlu mengkonfirmasi beberapa hal dari provider. Karena perilakunya tidak stabil (kadang-kadang Anda dapat terhubung, dan kadang-kadang tidak). Jadi ini bukan masalah hak istimewa pengguna (GRANT ALL ON ...)
sumber
Berikan output dari port telnet (ip):
Saya memiliki masalah yang sama terakhir kali dan iptables adalah pelakunya saat itu.
Ketika server reboot, aturan iptables berubah menjadi default dan itu tidak menerapkan filter untuk port tertentu.
Periksa iptables
sumber
Pertama, periksa apakah Anda memberikan hak yang benar kepada pengguna pada host Anda saat ini di mana Anda mencoba untuk terhubung ke server MySQL.
select * from mysql.user where host="host_name"\G;
Saya harap ini dapat membantu anda.
sumber
Saya menghabiskan sepanjang hari membenturkan kepala mencoba mencari tahu ini dan ternyata Jaringan Windows ditetapkan sebagai Publik alih-alih Pribadi yang memblokir semua koneksi yang masuk. Semoga ini bisa membantu seseorang.
sumber
beberapa penyedia hosting memblokir secara default, akses jarak jauh ke server MySql-nya dengan alasan keamanan. Jika Anda perlu membuka blokir layanan akses jarak jauh, beri tahu mereka untuk membatalkan blokir layanan ini.
Jika tidak, uji aplikasi Anda secara lokal, sebagai localhost dan ketika ini berfungsi dengan baik, ubah nama host, dan sebagainya, parameter database di aplikasi Anda, dan unggah ke server hosting web Anda, itu berfungsi dengan baik !!!.
Hati-hati, bahwa desain Database Anda memeriksa dengan desain database lokal Anda, ini sangat penting !!!
Saya harap ini dapat membantu anda.
sumber
Dua hal yang ditambahkan untuk pengguna mariadb:
1) my.cnf adalah untuk kita juga => di sana saya menemukan
bind-address = 127.0.0.1
garis2) Anda harus me-restart layanan setelah mengubah file my.cnf
Semoga ini membantu
sumber