Sambungan Mysql tidak dapat diwujudkan kerana mesin sasaran secara aktif menolak sambungan
P粉957723124
2023-08-22 19:04:28
<p>Saya tahu ramai orang telah bertanya soalan ini, tetapi kebanyakan orang ini telah terlupa kata laluan mereka yang disekat oleh tembok api dan saya tidak pernah menghadapi situasi ini. </p>
<p>Saya sedang membangun dalam php dan perlu menyambung ke pangkalan data jauh untuk digunakan bersama oleh pasukan saya. </p>
<p>Semuanya baik pada localhost, tetapi apabila saya cuba menukar, saya mendapat ralat berikut: </p>
<blockquote>
<p>Sambungan tidak dapat diwujudkan kerana mesin sasaran secara aktif menolak sambungan. </p>
</blockquote>
<p>Berikut ialah kod yang saya mahu gunakan untuk menyambung ke pangkalan data .nf.biz: </p>
<pre class="brush:php;toolbar:false;">$db=mysqli_connect($host,$user,$password,$db_name,3306);</pre>
<p><br /></p>
Pelayan MySQL anda hanya menerima *nix sockets (/var/run/mysqld/mysqld.sock jika anda menggunakan Ubuntu) atau sambungan tempatan sahaja.
Anda perlu mengedit fail my.cnf anda (terletak di /etc/mysql/my.cnf dalam Ubuntu) dan buat perubahan berikut:
bind-address = 0.0.0.0
dan ulas perkara berikut:
#skip-networking
Akhirnya mulakan semula MySQL.
Sila ambil perhatian bahawa jika pelayan MySQL anda boleh diakses dari internet awam, ia akan menerima sambungan daripada sesiapa sahaja!
Walaupun mungkin lambat, tapi untuk pengunjung akan datang,
Saya mendapati bahawa biz.nf menolak sebarang sambungan daripada sumber luaran, yang bermaksud bahawa hanya aplikasi web yang dihoskan pada biz.nf boleh mengakses pangkalan data mereka, jika tidak, anda akan ditolak.