MySQLadalah sistem manajemen basis data relasional sumber terbuka yang paling populer.
Versi terbaru dari server database MySQL, versi 8.0, tersedia untuk penginstalan 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 terapkan di server CentOS Anda.
CentOS 8 juga menyediakan MariaDB 10.3, yang merupakan “pengganti drop-in” untuk MySQL 5.7, dengan beberapa batasan. Jika aplikasi Anda tidak kompatibel dengan MySQL 8.0, instal MariaDB 10.3.
Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengamankan MySQL 8.0 pada sistem CentOS 8.
Menginstal MySQL 8.0 di CentOS 8 #
Instal server MySQL 8.0 dengan menggunakan manajer paket CentOS sebagai root atau pengguna dengan hak sudo:
sudo dnf install @mysql
@mysql
modul menginstal MySQL dan semua dependensi.
Setelah instalasi selesai, mulai layanan MySQL dan aktifkan untuk memulai secara otomatis saat boot dengan menjalankan perintah berikut:
sudo systemctl enable --now mysqld
Untuk memeriksa apakah server MySQL 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
...
Mengamankan MySQL #
Jalankan mysql_secure_installation
skrip yang melakukan beberapa operasi terkait keamanan dan menyetel kata sandi root MySQL:
sudo mysql_secure_installation
Anda akan diminta untuk mengonfigurasi VALIDATE PASSWORD PLUGIN
, yang digunakan untuk menguji kekuatan kata sandi pengguna MySQL dan meningkatkan keamanan. Ada tiga tingkat kebijakan validasi kata sandi, rendah, sedang, dan kuat. Tekan ENTER
jika Anda tidak ingin menyiapkan plugin validasi sandi.
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 harus menjawab “Y” (ya) untuk semua pertanyaan.
Untuk berinteraksi dengan server MySQL dari baris perintah, gunakan utilitas klien MySQL, yang diinstal sebagai ketergantungan. Uji akses root dengan mengetik:
mysql -u root -p
Masukkan kata sandi root ketika 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
Itu dia! Anda telah menginstal dan mengamankan MySQL 8.0 di server CentOS Anda, dan Anda siap menggunakannya.
Metode Otentikasi #
Server MySQL 8.0 yang disertakan dalam repositori CentOS 8 diatur untuk menggunakan mysql_native_password
yang lama plugin otentikasi karena beberapa alat klien dan pustaka di CentOS 8 tidak kompatibel dengan caching_sha2_password
metode, yang ditetapkan sebagai default dalam rilis MySQL 8.0 upstream.
mysql_native_password
metode harus baik-baik saja 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
Ubah nilai default_authentication_plugin
ke caching_sha2_password
:
[mysqld]
default_authentication_plugin=caching_sha2_password
Tutup dan simpan file, dan mulai ulang server MySQL agar perubahan diterapkan:
sudo systemctl restart mysqld