MySQL adalah sistem manajemen basis data relasional open-source yang paling populer.

Versi terbaru dari MySQL database server (saat penulisan) adalah versi 8.0 tersedia untuk instalasi dari repositori default CentOS 8.

MySQL 8.0 memperkenalkan banyak fitur dan perubahan baru yang membuat beberapa aplikasi tidak kompatibel dengan versi ini. Sebelum memilih versi MySQL untuk diinstal, lihat dokumentasi aplikasi yang akan Anda gunakan di server CentOS Anda.

CentOS 8 juga menyediakan MariaDB 10.3, yang merupakan “drop-in replacement” untuk MySQL 5.7, dengan beberapa batasan. Jika aplikasi Anda tidak kompatibel dengan MySQL 8.0, ada baiknya instal MariaDB 10.3.

Dalam tutorial ini, kami akan menunjukkan kepada Anda cara menginstal dan mengamankan MySQL 8.0 pada sistem CentOS 8.

Instal MySQL 8.0 pada CentOS 8

Instal server MySQL 8.0 dengan menggunakan manajer paket CentOS sebagai root atau pengguna dengan hak akses sudo:

sudo dnf install @mysql

Perintah dari @mysql akan menginstal MySQL server dan semua dependensi.

Setelah instalasi selesai, mulai layanan MariaDB dan aktifkan untuk memulai saat boot dengan mengetik:

sudo systemctl enable --now mysqld

Untuk memverifikasi bahwa MySQL server sedang berjalan, ketik:

sudo systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-10-17 22:09:39 UTC; 15s ago
   ...

Jalankan skrip mysql_secure_installation yang melakukan beberapa operasi terkait keamanan dan setel kata sandi root MySQL:

sudo mysql_secure_installation

Anda akan diminta untuk mengkonfigurasi VALIDATE PASSWORD PLUGIN, yang digunakan untuk menguji kekuatan kata sandi user MySQL dan meningkatkan keamanan. Ada tiga tingkat kebijakan validasi kata sandi, low, medium, dan strong. Tekan ENTER jika Anda tidak ingin mengatur plugin kata sandi yang valid.

Pada prompt berikutnya, Anda akan diminta untuk mengatur kata sandi untuk pengguna root MySQL. Setelah Anda melakukannya, skrip juga akan meminta Anda untuk menghapus pengguna anonim, membatasi akses pengguna root ke mesin lokal, dan menghapus database pengujian. Anda di sarankan untuk menjawab “Y” (yes) untuk semua pertanyaan untuk keamanan yang lebih baik.

Untuk berinteraksi dengan server MySQL dari baris perintah, gunakan utilitas klien MySQL, yang diinstal sebagai dependensi. Uji akses root dengan mengetik:

mysql -u root -p

Masukkan kata sandi root saat diminta, dan Anda akan disajikan dengan shell MySQL seperti yang ditunjukkan di bawah ini:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.17 Source distribution

Pada point ini, Anda telah menginstal dan mengamankan MySQL 8.0 di server CentOS, dan Anda siap menggunakannya.

Metode Otentikasi MySQL

MySQL Server versi 8.0 yang ada di dalam repositori CentOS 8 diatur untuk menggunakan plugin autentikasi lama , mysql_native_password karena beberapa alat klien dan library di CentOS 8 tidak kompatibel dengan metode caching_sha2_password, yang ditetapkan sebagai default dalam rilis MySQL 8.0 upstream.

Metode mysql_native_password harusnya sudah cukup untuk sebagian besar pengaturan. Namun, jika Anda ingin mengubah plugin autentikasi default menjadi caching_sha2_password yang lebih cepat dan memberikan keamanan yang lebih baik, buka file konfigurasi berikut:

sudo vim /etc/my.cnf.d/mysql-default-authentication-plugin.cnf

ganti value dari  default_authentication_plugin menjadi caching_sha2_password:

[mysqld]
default_authentication_plugin=caching_sha2_password

Tutup dan simpan file, dan restart server MySQL agar perubahan diterapkan:

sudo systemctl restart mysqld

Kesimpulan

Dalam tutorial ini, kami telah menunjukkan kepada Anda cara menginstal dan mengamankan MariaDB di server CentOS 8.

Menggunakan unix socket sebagai akses root memang memiliki kemudahan, namun alangkah baiknya Anda membuat user lain dengan hak akses terbatas untuk alasan keamanan.

Untuk mempelajari lebih lanjut MariaDB, silahkan melihat panduan lain berikut :