Saya baru saja menginstal server ubuntu baru dengan mysql (percona 5.5), tetapi ia menolak untuk menerima koneksi dari host jarak jauh
Inilah yang terjadi jika saya mencoba menyambung ke server ini dari jarak jauh:
mysql -h10.0.0.2 -uroot -pmypassowrd
ERROR 2003 (HY000): Can't connect to MySQL server on '10.0.0.2' (111)
telnet 10.0.0.2 3306
Trying 10.0.0.2...
telnet: Unable to connect to remote host: Connection refused
Ketika saya memeriksa apakah mysql mendengarkan koneksi jarak jauh saya melihat ini:
sudo netstat -ntlup | grep mysql
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 127018/mysqld
Seperti yang Anda lihat itu mengatakan 127.0.0.1:3306
yang berarti "Saya hanya menerima koneksi lokal".
Saya memeriksa variabel saya skip_networking
dan bind-address
- semuanya dimatikan:
mysql> show variables like '%skip_networking%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| skip_networking | OFF |
+-----------------+-------+
1 row in set (0.00 sec)
mysql> show variables like '%bind%';
Empty set (0.00 sec)
Saya memiliki server lain dengan konfigurasi yang benar-benar sama dan berfungsi dengan baik:
sudo netstat -ntlup | grep mysql
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2431/mysqld
Apa yang bisa menjadi alasan untuk ini? Bagaimana cara membuat mysql menanggapi koneksi jarak jauh?
bind_address
hanya tersedia sejak versi 5.6 ( bugs.mysql.com/bug.php?id=44355 ), sehingga akan mengembalikan set kosong di v5.5 bahkan jika sudah diatur.