Cara Menginstal MySQL di VPS Dengan Aman


9 Feb, 2024
5 menit

Ketika kalian menginstal MySQL di VPS, tentu saja kalian bisa langsung menggunakan command apt install mysql-server atau sudo dnf install mariadb atau yum install mariadb-server, namun tentu saja instalasi tersebut masih belum aman karena SQL tersebut bisa diakses siapa saja.

Supaya SQL kalian lebih aman, kalian bisa memberikan keamanan tambahan menggunakan fitur mysql_secure_installation, sehingga jika nantinya akan mengakses SQL, kalian harus memasukkan username dan password terlebih dulu. Untuk cara lebih lanjutnya, kalian bisa mengamankan instalasi SQL di Ubuntu mengikuti tutorial yang ada di artikel ini.

Cara Menginstal MySQL di VPS Dengan Aman

Langsung saja, begini cara untuk menginstal MySQL di VPS dengan aman.

Update Cache Paket VPS

Apabila ini adalah pertama kalinya kalian menggunakan VPS, maka kalian bisa melakukan update paket dulu. Namun jika sebelumnya kalian sudah melakukan update paket, maka kalian tidak harus melakukan update paket.

Untuk melakukan update paket ubuntu, kalian bisa menggunakan command ini

sudo apt update && apt upgrade -y

Gunakan Cara ini untuk update CentOS 7

sudo yum upgrade

Apabila kalian menggunakan CentOS 8 atau Rocky Linux 8, maka bisa menggunakan ini

sudo dnf update

Install MySQL atau MariaDB

Sebelum menginstal MySQL, kalian bisa memeriksa versi MySQL yang tersedia di server kalian terlebih dulu, sehingga kalian bisa menyesuaikan versi MySQL mana yang ingin digunakan.

sudo apt-cache policy mysql-server

Setelah menggunakan command diatas, maka hasilnya kurang lebih seperti ini

  Version table:
    8.0.33-0ubuntu0.22.04.2 500
        500 http://sg.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
     8.0.28-0ubuntu4 500
        500 http://sg.archive.ubuntu.com/ubuntu jammy/main amd64 Packages

Apabila hasilnya sama seperti itu, berarti kalian bisa langsung menginstall MySQL 8.0.33 atau MySQL 8.0.28 tanpa harus melakukan update paket ubuntu dulu.

Selanjutnya, untuk menginstall MySQL 8.0.28 atau versi lain yang sudah ada di server kalian, maka bisa menggunakan command berikut

sudo apt install mysql-server=8.0.28-0ubuntu4

Apabila kalian ingin menginstall MariaDB, maka kalian bisa menggunakan command ini

sudo apt install mariadb-server -y

Jika menggunakan CentOS atau Rocky Linux, maka kalian bisa mengubah apt menjadi yum, atau dnf sesuai dengan versi OS yang kalian gunakan.

Amankan Instalasi MySQL

Karena sekarang MySQL sudah terinstall, maka selanjutnya kalian perlu mengamankan SQL kalian menggunakan fitur mysql_secure_installation, dimana jika fitur ini diaktifkan, maka kalian nantinya perlu menggunakan password untuk membuka SQL melalui command sudo mysql.

Untuk mulai menambahkan keamanan, pertama kalian bisa menjalankan secure installation dulu

sudo mysql_secure_installation

Selanjutnya script akan meminta konfirmasi dari kalian apakah kalian akan mengaktifkan plugin validasi dengan password. Klik Y atau y untuk melanjutkan.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No:

Apabila sudah disetujui, maka script akan meminta konfirmasi lagi tentang tingkan keamanan password yang akan digunakan. Disarankan untuk menggunakan opsi nomor 0 atau 1.

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:

Jika kalian memilih opsi nomor 2, maka password kalian harus mengandung salah satu huruf, nomor, mixed case (huruf besar dan kecil), special characters serta tidak mengandung kata-kata yang mudah diucapkan atau yang sudah ada di Library Ubuntu.

Jika sudah menentukan tingkat keamanan password, maka selanjutnya kalian bisa memasukkan password baru dan menyimpannya.

Apabila kalian mendapatkan pesan error “… Failed! Error: SET PASSWORD has no significance for user“, maka kalian bisa mengubah password user root dulu dengan menjalankan command dibawah ini satu per satu sebelum melakukan mysql_secure_installation.

Cara Menginstal MySQL di VPS Dengan Aman - 1
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PasswordBaru';
quit

Selanjutnya jika ada konfirmasi menghapus anonymous user, maka kalian bisa menghapus user tersebut apabila kalian yakin bahwa user pada MySQL hanya kalian, atau bisa mengabaikannya apabila tidak yakin/

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) :
Cara Menginstal MySQL di VPS Dengan Aman - 2

Pastikan Metode Autentikasi User Root di Database

Selanjutnya untuk memastikan bahwa SQL kalian sudah benar-benar aman, maka kalian perlu memeriksa apakah user Root di MySQL kalian sudah menggunakan metode autentikasi mysql_native_password atau belum.

Untuk memeriksanya, kalian bisa menggunakan command ini

sudo mysql
SELECT user,authentication_string,plugin,host FROM mysql.user;
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
+------------------+-------------------------------------+-----------------------+-----------+
| user             | authentication_string              | plugin                | host      |
+------------------+-------------------------------------+-----------------------+-----------+
| debian-sys-maint | *PasswordUserDituliskanDisini      | mysql_native_password | localhost |
| mysql.infoschema | *PasswordUserDituliskanDisini      | mysql_native_password | localhost |
| mysql.session    | *PasswordUserDituliskanDisini      | mysql_native_password | localhost |
| mysql.sys        | *PasswordUserDituliskanDisini      | mysql_native_password | localhost |
| root             | *PasswordUserDituliskanDisini      | auth_socket           | localhost |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
5 rows in set (0.00 sec)

Apabila hasilnya masih seperti itu, maka kalian perlu melakukan update password pada user Root menggunakan command ini

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PasswordBaru';

Setelah mengubah password user Root, pastikan kalian melakukan flush privilege menggunakan command ini di halaman mysql

FLUSH PRIVILEGES;

Jika sudah, maka sekarang kalian bisa keluar dari MySQL dengan menggunakan command exit didalam MySQL.

Selanjutnya untuk membuka MySQL, maka kalian harus menggunakan command yang memerlukan password, dan tidak bisa langsung menggunakan comman sudo mysql

sudo mysql -u username_mysql -p

Terima kasih telah berkunjung ke WPGan.com. Dapatkan saldo $100 di Vultr gratis dan deploy servermu sendiri melalui [Halaman Ini]
Share: