Nur Hamim
Nur Hamim Anak desa yang gemar berkomunitas, suka menulis dan mencari hal baru seputar Unix/Linux dan Cloud. Saat ini sedang menempuh pendidikan S1 TI di Unindra dan kebetulan bekerja di PT Biznet GIO Nusantara

Cara Remote Database MariaDB di CentOS 8


Cara Remote Database MariaDB di CentOS 8

Melakukan remote atau akses database server dari public dari public tentu bukanlah hal yang asing bagi Anda yang bergelut di dunia SysAdmin ataupun Programmer baik untuk kebutuhan website dan yang lainnya.

Dengan mengakses database dari public menggunakan aplikasi database client akan mempermudah kita dalam pengelolaan database dan lebih fleksibel serta simple tentunya karena kita tidak perlu login langsung ke sisi server database hanya untuk akses database saja.

Namun ada hal yang perlu diperhatikan dari segi security, jika kita meng-ekspost port database default 3306 ke public, resiko yang akan kita dapatkan yaitu adanya serangan atau hacking dari luar biasanya brutforce, SQL Injection, dan yang lainnya.

Dengan demikian untuk mengikuti tutorial ini harap dipikirkan terlebih dahulu dari segi security dan yang lainnya.

Selanjutnya untuk mengikuti tutorial ini kiranya dari sisi Anda sudah melakukan instalasi database, jika belum silakan mengikuti tutorial berikut: Cara Instalasi Database MariaDB di CentOS 8

Pertama yang harus kita lakukan yaitu allow bind-address di konfigurasi mariadb / mysql server.

1
2
[root@tutorial ~]#
[root@tutorial ~]# vim /etc/my.cnf.d/mariadb-server.cnf

Cari bind-address dan hilangkan tanga # nya

1
2
3
4
# Allow server to accept connections on all interfaces.
#
#
bind-address=0.0.0.0

Jika sudah sekarang kita coba membuat user dan database untuk di uji coba

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[root@tutorial ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9

# instructions in http://fedoraproject.org/wiki/Systemd
Server version: 10.3.17-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE belajarlinuxdb;
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> create user 'belajarlinux'@'%' IDENTIFIED BY 'secret';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> grant all privileges on belajarlinuxdb.* TO 'belajarlinux'@'%';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> quit
Bye
[root@tutorial ~]#

Keterangan:

  • Nama database nya yaitu belajarlinuxdb
  • User database nya belajarlinux
  • Perintah grant all privileges mengartikan database belajarlinux db dapat diakses dari IP manapun menggunakan user belajarlinux.
  • Perintah Identified By digunakan untuk set password user database.

Jika sudah silakan restart service database dan pastikan port database 3306 sudah listen public 0.0.0.0 sebagai berikut

1
2
3
4
[root@tutorial ~]# systemctl restart mariadb
[root@tutorial ~]# netstat -ant | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
[root@tutorial ~]#

Untuk mencoba nya jika Anda menggunakan Linux misalnya Ubuntu DE Anda dapat install mysql client dan coba akses dari terminal Ubuntu Anda berikut perintahnya

1
mysql -u belajarlinux -h IP_VM -p

Keterangan:

  • -u : user database
  • -h: IP VM / VPS database
  • -p: password database

Jika berhasil akan seperti berikut hasilnya.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ubuntu@my-jumper:~$
ubuntu@my-jumper:~$ mysql -u belajarlinux -h 103.89.7.26 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.5.5-10.3.17-MariaDB MariaDB Server

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| belajarlinuxdb |
| information_schema |
+--------------------+
2 rows in set (0.01 sec)

mysql>

Selain itu untuk akses database ini Anda dapat menggunakan aplikasi misalnya MySQL Workbench, HeidiSQL dan masih banyak lainnya.

Kali ini kami akan mencontohkan akses database menggunakann Heidi SQL dimana aplikasi open source dan dapat berjalan di multi platform bisa di linux, Windows, MacOS dan yang lainnya untuk mengunduhnya dapat dilakukan pada link berikut: https://www.heidisql.com/download.php

Silakan buka aplikasi HeidiSQL Anda masing – masing lalu isikan IP, Port, dan Username Password Database Server Anda.

Jika berhasil akan seperti berikut

Saat ini database server Anda sudah bisa di remote atau akses dari public.

Selamat mencoba 😁

comments powered by Disqus