Pengenalan
MySQL adalah sistem manajemen basis data relasional (RDBMS) yang bersifat open source dan populer di seluruh dunia. MySQL digunakan untuk menyimpan dan mengelola data dalam jumlah besar dengan cara yang terstruktur dan efisien.
Dalam era digital saat ini, manajemen data menjadi hal yang krusial bagi banyak bisnis dan organisasi. Sebagai salah satu sistem manajemen basis data yang paling populer, MySQL menawarkan fitur-fitur andal dan fleksibilitas yang dibutuhkan untuk mengelola data secara efektif.
Persyaratan
- Akses ke server yang menggunakan AlmaLinux 8.
- Hak akses root atau pengguna dengan izin sudo untuk menjalankan perintah.
- Koneksi internet yang stabil untuk mengunduh paket yang diperlukan.
Pada tutorial ini Anda akan mempelajari cara install MySQL 8.4 melalui repository resmi dari MySQL agar mendapatkan update terbaru. Pada artikel ini kami menggunakan resource Cloud VPS SSD Storage dengan spesifikasi Compute SSD – 1.
Instalasi MySQL 8.4
Update server untuk memperbarui paket yang diperlukan agar tetap optimal
1 |
dnf update -y |
Buat file untuk repository
1 |
nano /etc/yum.repos.d/mysql-community.repo |
Kemudian isikan dengan script berikut
1 2 3 4 5 6 |
[mysql84-community] name=MySQL 8.4 Community Server baseurl=http://repo.mysql.com/yum/mysql-8.4-community/el/8/$basearch/ enabled=1 gpgcheck=1 gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 |
Matikan module MySQL dari server agar dapat menginstall versi MySQL 8
1 |
dnf module disable mysql |
Selanjutnya jalankan perintah berikut untuk menginstall MySQL8. Perintah tersebut akan menginstal paket untuk server MySQL (mysql-community-server) dan juga paket untuk komponen yang diperlukan untuk menjalankan server, termasuk paket untuk klien (mysql-community-client).
1 |
dnf install mysql-community-server -y |
Berikut adalah output dari paket yang akan diinstall pada server
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
=============================================================================================================================================================================================================================== Package Architecture Version Repository Size =============================================================================================================================================================================================================================== Installing: mysql-community-server x86_64 8.4.0-1.el8 mysql84-community 61 M Installing dependencies: mysql-community-client x86_64 8.4.0-1.el8 mysql84-community 15 M mysql-community-client-plugins x86_64 8.4.0-1.el8 mysql84-community 4.6 M mysql-community-common x86_64 8.4.0-1.el8 mysql84-community 692 k mysql-community-icu-data-files x86_64 8.4.0-1.el8 mysql84-community 2.2 M mysql-community-libs x86_64 8.4.0-1.el8 mysql84-community 1.5 M Transaction Summary =============================================================================================================================================================================================================================== Install 6 Packages |
Aktifkan service MySQL agar dapat berjalan otomatis saat server direboot
1 |
systemctl enable --now mysqld |
Cek status MySQL menggunakan perintah berikut
1 |
systemctl status mysqld |
Pastikan outputnya seperti berikut
1 2 3 4 5 6 7 8 9 10 11 12 |
● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2024-06-16 07:45:41 UTC; 4s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 6511 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 6581 (mysqld) Status: "Server is operational" Tasks: 36 (limit: 5635) Memory: 483.3M CGroup: /system.slice/mysqld.service └─6581 /usr/sbin/mysqld |
Cek versi MySQL saat ini
1 |
mysql --version |
Berikut contoh outputnya
1 |
mysql Ver 8.4.0 for Linux on x86_64 (MySQL Community Server - GPL) |
Secara otomatis MySQL akan membuat password secara acak untuk keamanan, silahkan jalankan perintah ini untuk melanjutkan ke tahap berikutnya
1 |
cat /var/log/mysqld.log | grep "temporary password" |
Contoh outputnya seperti berikut
1 |
2024-06-16T07:45:32.684606Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 8w)Pohg/s4Po |
Konfigurasi Keamanan MySQL
Selanjutnya kita akan melakukan konfigurasi keamanan dasar. Jalankan perintah berikut untuk memulai proses setup keamanan pada MySQL. Masukkan password yang sudah diambil dari log, contohnya password kami untuk root sebelumnya adalah 8w)Pohg/s4Po
1 |
mysql_secure_installation |
Berikut contoh output ketika menjalankan perintah diatas
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
Securing the MySQL server deployment. Enter password for user root: The existing password for the user account root has expired. Please set a new password. New password: Re-enter new password: The 'validate_password' component is installed on the server. The subsequent steps will run with the existing configuration of the component. Using existing password for root. Estimated strength of the password: 100 Change the password for root ? ((Press y|Y for Yes, any other key for No) : N ... skipping. 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) : Y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y Success. All done! |
Jalankan perintah berikut untuk login ke MySQL
1 |
mysql -u root -p |
Kesimpulan
Dengan mengikuti panduan instalasi MySQL 8.4 pada server AlmaLinux 8 yang telah kita bahas, Anda dapat dengan mudah mengintegrasikan MySQL ke dalam infrastruktur IT Anda. MySQL 8.4 menawarkan peningkatan kinerja, keamanan, dan fitur-fitur baru yang akan membantu Anda mengelola data Anda dengan lebih efisien. Jika Anda mengalami kendala, jangan ragu untuk mencari bantuan dari sumber-sumber yang terpercaya dan membaca dokumentasi resmi MySQL. Selamat mencoba!