GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengizinkan Koneksi Jarak Jauh ke MySQL

Pendahuluan

Bukan hal yang aneh untuk meng-host database dan server web pada mesin lokal yang sama. Namun, banyak organisasi kini beralih ke lingkungan yang lebih terdistribusi.

Server database terpisah dapat meningkatkan keamanan, kinerja perangkat keras, dan memungkinkan Anda menskalakan sumber daya dengan cepat. Dalam kasus penggunaan seperti itu, mempelajari cara mengelola sumber daya jarak jauh secara efektif adalah prioritas.

Tutorial ini menunjukkan cara mengaktifkan koneksi jarak jauh ke database MySQL.

Prasyarat

  • Akses ke jendela terminal/baris perintah
  • Server MySQL jarak jauh
  • Sudo atau akar hak istimewa pada mesin lokal dan jarak jauh

Koneksi Jarak Jauh Server MySQL

Mengizinkan koneksi ke server MySQL jarak jauh diatur dalam 3 langkah:

  1. Mengedit file konfigurasi MySQL
  2. Konfigurasikan firewall
  3. Hubungkan ke server MySQL jarak jauh

Langkah 1:Edit File Konfigurasi MySQL

1.1 Mengakses File mysqld.cnf

Gunakan editor teks pilihan Anda untuk membuka mysqld.cnf mengajukan. Contoh ini menggunakan editor teks nano di Ubuntu 18.04. Masukkan perintah berikut di antarmuka baris perintah Anda untuk mengakses file konfigurasi server MySQL:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Lokasi file dapat bervariasi berdasarkan distribusi dan versi yang digunakan. Jika file konfigurasi MySQL bukan lokasi defaultnya coba gunakan Linux find perintah untuk mendeteksinya.

1.2 Mengubah IP Alamat Ikatan

Anda sekarang memiliki akses ke file konfigurasi server MySQL. Gulir ke bawah ke bind-address baris dan mengubah alamat IP. IP default saat ini diatur ke 127.0.0.1. IP ini membatasi koneksi MySQL ke mesin lokal.

IP baru harus sesuai dengan alamat mesin yang perlu mengakses server MySQL dari jarak jauh. Misalnya, jika Anda mengikat MySQL ke 0.0.0.0, maka mesin apa pun yang mencapai server MySQL juga dapat terhubung dengannya.

Setelah Anda membuat perubahan yang diperlukan, simpan dan keluar dari file konfigurasi.

1.3 Mulai Ulang Layanan MySQL

Terapkan perubahan yang dibuat ke file konfigurasi MySQL dengan memulai ulang layanan MySQL:

sudo systemctl restart mysql

Selanjutnya, pengaturan firewall Anda saat ini perlu disesuaikan untuk mengizinkan lalu lintas ke port default MySQL.

Langkah 2:Siapkan Firewall untuk Mengizinkan Koneksi MySQL Jarak Jauh

Saat mengedit file konfigurasi, Anda mungkin mengamati bahwa port default MySQL adalah 3306 .

Jika Anda telah mengonfigurasi firewall di server MySQL Anda, Anda perlu membuka lalu lintas untuk port khusus ini. Ikuti petunjuk di bawah ini yang sesuai dengan layanan firewall yang Anda gunakan.

Opsi 1:UFW (Firewall Tidak Kompleks)

UFW adalah alat firewall default di Ubuntu. Di jendela terminal, ketik perintah berikut untuk mengizinkan lalu lintas dan mencocokkan IP dan port:

sudo ufw allow from remote_ip_address to any port 3306

Sistem mengonfirmasi bahwa aturan berhasil diperbarui.

Opsi 2:FirewallD

Alat manajemen firewalld di CentOS menggunakan zona untuk menentukan lalu lintas apa yang diizinkan.

Buat zona baru untuk menetapkan aturan lalu lintas server MySQL. Nama zona dalam contoh kita adalah mysqlrule , dan kami menggunakan alamat IP dari contoh sebelumnya 133.155.44.103 :

sudo firewall-cmd --new-zone=mysqlrule --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=mysqlrule --add-source=133.155.44.103
sudo firewall-cmd --permanent --zone=mysqlrule --add-port=3306/tcp
sudo firewall-cmd --reload

Anda telah berhasil membuka port 3306 di firewall Anda.

Opsi 3:Buka Port 3306 dengan iptables

iptables utilitas tersedia di sebagian besar distribusi Linux secara default. Ketik perintah berikut untuk membuka port MySQL 3306 ke lalu lintas tidak terbatas:

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

Untuk membatasi akses ke alamat IP tertentu, gunakan perintah berikut sebagai gantinya:

sudo iptables -A INPUT -p tcp -s 133.155.44.103 --dport 3306 -j ACCEPT

Perintah ini memberikan akses ke 133.155.44.103. Anda harus menggantinya dengan IP untuk koneksi jarak jauh Anda.

Penting untuk menyimpan perubahan yang dibuat pada aturan iptables. Dalam distribusi berbasis Ubuntu ketik perintah berikut:

sudo netfilter-persistent save
sudo netfilter-persistent reload

Ketik perintah berikutnya untuk menyimpan aturan iptables baru di CentOS:

service iptables save

Langkah 3:Hubungkan ke Server MySQL Jarak Jauh

Server jarak jauh Anda sekarang siap menerima koneksi. Gunakan perintah berikut untuk membuat koneksi dengan server MySQL jarak jauh Anda:

mysql -u username -h mysql_server_ip -p

-u username dalam perintah mewakili nama pengguna MySQL Anda. -h mysql_server_ip adalah IP atau nama host server MySQL Anda. -p opsi meminta Anda memasukkan kata sandi untuk nama pengguna MySQL.

Anda akan melihat output yang mirip dengan yang di bawah ini:

Connection to mysql_server_ip 3306 port [tcp/mysql] succeeded!

Bagaimana Cara Memberikan Akses Jarak Jauh ke Database MySQL Baru?

Jika Anda belum memiliki database, Anda dapat dengan mudah membuat database dengan mengetikkan perintah berikut di shell MySQL Anda:

CREATE DATABASE ‘yourDB’;

Untuk memberikan akses pengguna jarak jauh ke database tertentu:

GRANT ALL PRIVILEGES ON yourDB.* TO [email protected]’133.155.44.103’ IDENTIFIED BY ‘password1’;

Nama database, nama pengguna, IP jarak jauh, dan kata sandi harus sesuai dengan informasi yang ingin Anda gunakan untuk koneksi jarak jauh.

Cara Memberikan Akses Jarak Jauh ke Database MySQL yang Ada

Memberikan akses jarak jauh ke pengguna untuk database yang ada memerlukan serangkaian dua perintah:

update db set Host=’133.155.44.103' where Db='yourDB';
update user set Host=’133.155.44.103' where user='user1';

Pengguna1 sekarang dapat mengakses yourDB dari lokasi terpencil yang diidentifikasi oleh IP 133.155.44.103 .


Ubuntu
  1. Cara mereset kata sandi root MySql

  2. Cara Menginstal Server MySQL di Debian 9

  3. Cara Menginstal MySQL di Ubuntu 16.04

  1. Cara Instal Server MySQL di CentOS 7

  2. Cara Menginstal Server MySQL di Ubuntu 16.04

  3. Cara Menginstal Server MySQL di Ubuntu 17.04

  1. Cara Menginstal MySQL 8.0 / 5.7 di Debian 11 / Debian 10

  2. Cara Instal MySQL di Linux Mint 19

  3. Cara Mengizinkan Koneksi Jarak Jauh ke Server Database MySQL