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 :