GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengizinkan Akses Jarak Jauh ke Server Database MySQL

Ekosistem perangkat lunak bukanlah hal baru dalam gagasan sistem terdistribusi. Anda tidak perlu hadir secara fisik untuk berinteraksi dengan perangkat lunak yang dihosting dari jarak jauh.

Oleh karena itu MySQL . Anda tidak perlu berada di mesin lokal agar Anda dapat sepenuhnya memanfaatkan fitur fungsionalnya. Anda sekarang dapat menjalankan MySQL pada server khusus jarak jauh dan masih dijamin keamanan dan kinerja database yang sama seperti halnya MySQL yang berjalan pada mesin lokal/desktop.

Panduan artikel ini akan memandu kita dalam menyiapkan dan mengaktifkan akses jarak jauh ke MySQL server di Linux. Di server/mesin jarak jauh yang menghosting MySQL . Anda perangkat lunak basis data, kita perlu melakukan beberapa langkah konfigurasi untuk memungkinkan akses pengguna jarak jauh yang diautentikasi.

Buat Pengguna MySQL Baru

Dianjurkan untuk bekerja dengan pengguna jarak jauh yang bukan root MySQL pengguna atau terikat ke server jauh yang menghosting MySQL perangkat lunak basis data.

Akses MySQL jarak jauh Anda server dan basis data melalui SSH .

$ ssh [email protected]
$ mysql -u root -p

Untuk membuat pengguna MySQL baru, kami akan mematuhi sintaks perintah:

CREATE USER 'username'@'%' IDENTIFIED BY 'your_user_password';

Seperti yang telah Anda catat, kami menggunakan notasi 'nama pengguna'@'%' dan bukan 'nama pengguna'@'localhost' karena kami ingin pengguna ini cukup dinamis untuk mengakses MySQL server dari mesin host lain dengan alamat IP yang berbeda.

mysql> CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password1122';

Mari kita beri pengguna ini beberapa hak istimewa database. Misalnya, pengguna ini dapat memiliki hak istimewa basis data yang sama dengan pengguna root hanya saja pengguna root terikat ke mesin host.

mysql> GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%';
mysql> FLUSH PRIVILEGES;
mysql> exit;

[ Anda mungkin juga menyukai:Cara Membuat Pengguna MySQL Baru melalui phpMyAdmin ]

Aktifkan Akses MySQL Jarak Jauh

Sekarang setelah pengguna jarak jauh dibuat, saatnya untuk melakukan beberapa perubahan konfigurasi tambahan. Secara default, alamat-bind MySQL adalah 127.0.0.1 yang menyiratkan bahwa hanya pengguna localhost yang dapat berinteraksi dengan database MySQL.

Untuk memberikan akses ke alamat IP pengguna lain ke server database Anda, navigasikan dan buka file file konfigurasi MySQL.

 
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
OR
$ sudo vi /etc/my.cnf

Untuk mengizinkan akses jarak jauh ke server database MySQL Anda, bidang bind-address dan mysqlx-bind-address perlu dikomentari. Perubahan konfigurasi ini akan mencegah server hosting perangkat lunak database MySQL hanya mengandalkan koneksi localhost (127.0.0.1). Setelah itu, semua alamat IP akan diizinkan untuk mengaksesnya.

Simpan dan tutup file.

Mulai ulang server MySQL Anda dan kemudian identifikasi alamat IP server MySQL.

$ sudo systemctl restart mysql
$ ifconfig

Mencoba Akses Database MySQL Jarak Jauh

Untuk terhubung langsung ke MySQL server database dari jarak jauh, ikuti sintaks MySQL berikut:

$ mysql -u username -h mysql_server_ip_adress -p

Dalam kasus kami, perintahnya akan terlihat seperti berikut:

$ mysql -u remote_user -h 192.168.50.130 -p

Jika Anda mengalami kesalahan di atas seperti yang digambarkan oleh tangkapan layar, Anda perlu mengonfigurasi pengguna MySQL Anda untuk menggunakan kata sandi asli. Masuk kembali ke server MySQL Anda melalui SSH dan implementasikan perintah:

mysql> ALTER USER 'remote_user'@'%' IDENTIFIED WITH mysql_native_password BY 'password1122'; 
mysql> exit;

Setelah itu, keluar dari shell database MySQL dan restart daemon MySQL.

$ sudo systemctl restart mysql

Coba kembali akses jarak jauh ke server MySQL Anda.

$ mysql -u remote_user -h 192.168.50.130 -p

Dan begitu saja, Anda dapat secara langsung dan jarak jauh mendapatkan akses ke server database MySQL dari komputer klien jarak jauh yang dikonfigurasi ke alamat IP pilihan Anda.

Aktifkan Akses MySQL Jarak Jauh di Firewall

Jika Anda mengaktifkan firewall di server jarak jauh, Anda mungkin perlu memberikan akses ke port default MySQL 3306 dan berikan akses ke remote_ip_address seperti yang ditunjukkan.

Firewall UFW

$ sudo ufw allow from remote_ip_address to any port 3306

FirewallD

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

Iptables

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

Itu saja! Dalam artikel ini, Anda telah mempelajari wawasan bermanfaat tentang ide umum akses MySQL jarak jauh di Linux.


Linux
  1. Cara Menginstal Server Database MySQL 8 di CentOS 8

  2. Cara mengizinkan atau menolak login jarak jauh ke akun pengguna tertentu di server Linux

  3. Cara Menginstal Server Database MySQL di CentOS

  1. Cara Mengizinkan Koneksi Jarak Jauh ke MySQL

  2. Cara Mengizinkan Koneksi Jarak Jauh ke Server Database MySQL

  3. Cara mengonfigurasi Database Budak MySQL

  1. Cara Mengatur Ulang Kata Sandi Pengguna Root MySQL Di Linux

  2. Cara Mengizinkan Koneksi Jarak Jauh ke MySQL

  3. Cara Menetapkan Pengguna ke Database MySQL di cPanel