Pengenalan
MariaDB adalah sistem manajemen database relasional (RDBMS) yang dikembangkan sebagai alternatif open-source dari MySQL. MariaDB dirancang untuk memiliki kompatibilitas yang tinggi dengan MySQL, sehingga memudahkan bagi pengguna MySQL untuk beralih ke MariaDB. Selain itu, MariaDB juga dikenal memiliki performa yang baik, fitur-fitur canggih, dan komunitas yang aktif.
AlmaLinux 8 adalah distribusi Linux berbasis CentOS 8 ataui 1:1 binary-compatible clone (fork) Red Hat Enterprise Linux yang dirancang untuk menjadi pengganti CentOS setelah Red Hat menghentikan dukungan terhadap CentOS. AlmaLinux 8 menawarkan keamanan, stabilitas, dan kompatibilitas yang tinggi, serta didukung oleh komunitas yang aktif.
Persyaratan
- Akses Root: Anda membutuhkan akses root atau hak administrator ke server AlmaLinux 8 agar dapat menjalankan perintah-perintah instalasi.
- Koneksi Internet Stabil: Proses instalasi membutuhkan koneksi internet yang stabil untuk mengunduh paket-paket yang diperlukan.
- Spesifikasi Minimum Server: Agar MariaDB dapat berjalan dengan baik, pastikan server Anda memiliki spesifikasi minimum CPU, RAM, dan ruang penyimpanan yang memadai. Anda dapat menggunakan Cloud VPS SSD dengan harga yang terjangkau.
Langkah 1 — Persiapan
Update server untuk memperbarui paket yang diperlukan agar tetap optimal
1 | dnf update -y |
Langkah berikutnya adalah melakukan setup repository, MariaDB memberikan script installer agar secara otomatis men setup repository pada server. Secara otomatis script tersebut akan mengunduh menginstall repository MariaDB dengan versi terbaru
Setup Repository
Jalankan perintah berikut untuk setup repository MariaDB dengan versi terbaru
1 | curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash |
Skrip tersebut akan menyiapkan 3 repositori berbeda dalam satu file konfigurasi repositori. Repositori MariaDB berisi paket perangkat lunak yang terkait dengan MariaDB Server, clients and utilities, client libraries, plugins, dan Mariabackup.
Jika aplikasi Anda membutuhkan versi MariaDB yang lama daripada yang terbaru, silahkan ikuti panduan berikut untuk men setup repository MariaDB
Setup Repository Specific Version MariaDB
1 | curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.4" |
Perintah diatas akan menginstall repository MariaDB versi 10.4. Saat artikel ini dibuat berikut adalah beberapa versi yang dapat Anda ubah pada parameter --mariadb-server-version
- mariadb-10.4
- mariadb-10.5
- mariadb-10.6
- mariadb-10.10
- mariadb-10.11
- mariadb-11.0
- mariadb-11.1
- mariadb-11.2
Langkah 2 — Install MariaDB
Pada langkah ini kami akan menginstall MariaDB dengan versi terbaru yaitu pada saat artikel ini dibuat versi MariaDB adalah 11.4.2. Jalankan perintah berikut untuk menginstall paket MariaDB Server, Client, dan backup utility
1 | dnf install MariaDB-server MariaDB-client MariaDB-backup -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 16 17 18 19 20 21 22 23 24 25 26 | =============================================================================================================================================================================================================================== Package Architecture Version Repository Size =============================================================================================================================================================================================================================== Installing: MariaDB-backup x86_64 11.4.2-1.el8 mariadb-main 7.5 M MariaDB-client x86_64 11.4.2-1.el8 mariadb-main 17 M MariaDB-server x86_64 11.4.2-1.el8 mariadb-main 27 M Installing dependencies: MariaDB-common x86_64 11.4.2-1.el8 mariadb-main 88 k MariaDB-shared x86_64 11.4.2-1.el8 mariadb-main 130 k boost-program-options x86_64 1.66.0-13.el8 appstream 140 k galera-4 x86_64 26.4.18-1.el8 mariadb-main 14 M liburing x86_64 1.0.7-3.el8 baseos 24 k lsof x86_64 4.93.2-1.el8 baseos 252 k perl-DBI x86_64 1.641-4.module_el8.6.0+2823+173faa7e appstream 739 k socat x86_64 1.7.4.1-1.el8 appstream 322 k Installing weak dependencies: MariaDB-client-compat noarch 11.4.2-1.el8 mariadb-main 11 k MariaDB-server-compat noarch 11.4.2-1.el8 mariadb-main 8.9 k pv x86_64 1.6.6-7.el8 epel 64 k Enabling module streams: perl-DBI 1.641 Transaction Summary =============================================================================================================================================================================================================================== Install 14 Packages |
Aktifkan service MariaDB agar dapat berjalan otomatis saat server direboot
1 | systemctl enable --now mariadb |
Cek status MariaDB menggunakan perintah berikut
1 | systemctl status mariadb |
Pastikan outputnya seperti berikut
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ● mariadb.service - MariaDB 11.4.2 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/mariadb.service.d └─migrated-from-my.cnf-settings.conf Active: active (running) since Sun 2024-06-16 18:03:11 UTC; 22s ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ Process: 21238 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 21216 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code> Process: 21214 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Main PID: 21226 (mariadbd) Status: "Taking your SQL requests now..." Tasks: 12 (limit: 6973) Memory: 110.6M CGroup: /system.slice/mariadb.service └─21226 /usr/sbin/mariadbd |
Cek versi MySQL saat ini
1 | mariadb --version |
Berikut contoh outputnya
1 | mariadb from 11.4.2-MariaDB, client 15.2 for Linux (x86_64) using EditLine wrapper |
Konfigurasi Keamanan MariaDB
Langkah berikutnya adalah mengamankan MariaDB karena secara default MariaDB sejak versi 10.4 sudah menggunakan unix_socket_authentication. Sebenarnya MariaDB secara otomatis mengamankan akses MariaDB, namun memiliki kekurangan jika aplikasi Anda menggunakan user root maka Anda perlu mengetahui password database terlebih dahulu.
Jalankan perintah berikut untuk memulai konfigurasi MariaDB
1 | mariadb-secure-installation |
Berikut adalah contoh outputnya
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 57 58 59 60 61 62 63 64 65 66 67 68 69 | NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] Y Enabled successfully! Reloading privilege tables.. ... Success! You already have your root account protected, so you can safely answer 'n'. Change the root password? [Y/n] Y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB 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? [Y/n] 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? [Y/n] Y ... Success! By default, MariaDB 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? [Y/n] 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? [Y/n] Y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! |
Anda dapat mengakses MariaDB menggunakan password atau melalui socket (tanpa password)
Anda dapat menjalankan perintah berikut untuk login tanpa password alias menggunakan unix socket authentication
1 | mariadb |
Atau menggunakan password yang sudah Anda buat sebelumnya, cara ini dapat membantu Anda ketika aplikasi Anda ingin menggunakan user root
1 | mariadb -u root -p |
Penutup
Dalam artikel ini, kita telah mempelajari cara menginstal MariaDB di Cloud VPS Server AlmaLinux 8. Dimulai dari pengenalan tentang MariaDB, dilanjutkan dengan memenuhi persyaratan yang diperlukan, dan kemudian mengikuti langkah-langkah instalasi yang telah dijelaskan.
Setelah mengikuti tutorial ini, Anda diharapkan dapat dengan mudah menginstal dan mengonfigurasi MariaDB di server AlmaLinux 8 Anda. Jika Anda membutuhkan bantuan lebih lanjut atau memiliki pertanyaan, jangan ragu untuk mencari referensi atau bergabung dengan komunitas pengguna MariaDB dan AlmaLinux.