Pengantar
Dalam penyebaran tradisional, orang sering menginstal server MySQL dan menggunakannya dari host yang sama. Namun, sangat disarankan agar kita memisahkan server MySQL dan klien, server MySQL harus diakses dari host jarak jauh. Metode ini membantu sistem menjadi lebih aman dan meningkatkan kinerja.
Untuk memungkinkan metode di atas, kita harus mengkonfigurasi server MySQL untuk mengizinkan koneksi jarak jauh dari kliennya.
Konfigurasi server MySQL
Pertama, konfigurasikan server MySQL untuk mendengarkan IP yang telah ditentukan sebelumnya atau semua alamat IP di server Anda.
Jika server MySQL berada di jaringan yang sama dengan klien, Anda harus mengonfigurasi port pendengar pada IP pribadi.
Di sisi lain, jika Anda perlu terhubung ke server MySQL melalui jaringan publik, mari konfigurasikan server dengan mengikuti konfigurasi di bawah ini:
Buka file konfigurasi:
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
Pergi ke baris yang dimulai dengan bind-address
Secara default, nilai bind-address adalah 127.0.0.1
Jika Anda ingin mengatur server MySQL untuk mendengarkan semua alamat IP, konfigurasikan nilai bind-address =0.0.0.0
Untuk membuat efek perubahan, mari kita restart layanan MySQL:
$ sudo systemctl restart mysql
Berikan akses ke pengguna dari host jarak jauh
Di bagian ini, kami akan menunjukkan cara untuk mengizinkan akses ke database ke pengguna jarak jauh.
Masuk ke server MySQL:
$ sudo mysql
Kemudian,
mysql> GRANT ALL ON DATABASE-NAME.* TO [email protected] IDENTIFIED BY ‘USER-PASSWORD’;
Misalnya:
mysql> GRANT ALL ON linuxways.* TO [email protected] IDENTIFIED BY ‘mysecuredpass’;
Konfigurasi Firewall
Server MySQL mendengarkan pada port 3306. Anda harus membuka port ini untuk mengizinkan lalu lintas dari host jarak jauh. Anda dapat menggunakan salah satu metode di bawah ini:
iptables
$ sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
ufw
Jika Anda menggunakan ufw untuk membuka port 3306, Anda cukup menjalankan perintah berikut:
$ sudo ufw allow 3306/tcp
Kesimpulan
Anda telah mempelajari detail tentang cara mengizinkan koneksi jarak jauh ke server MySQL.
Jika Anda memiliki kekhawatiran, beri tahu saya. Terima kasih telah membaca.