{"id":2322,"date":"2025-08-16T10:13:49","date_gmt":"2025-08-16T03:13:49","guid":{"rendered":"https:\/\/www.jagoweb.com\/kb\/?post_type=ht_kb&#038;p=2322"},"modified":"2025-08-16T10:13:49","modified_gmt":"2025-08-16T03:13:49","slug":"cara-menginstal-dan-mengamankan-database-server-mariadb-di-ubuntu","status":"publish","type":"ht_kb","link":"https:\/\/www.jagoweb.com\/kb\/knowledge-base-jagoweb\/cara-menginstal-dan-mengamankan-database-server-mariadb-di-ubuntu\/","title":{"rendered":"Cara Menginstal dan Mengamankan Database Server MariaDB di Ubuntu"},"content":{"rendered":"<p><strong>Cara Menginstal dan Mengamankan Database Server MariaDB di Ubuntu &#8211;\u00a0<\/strong>Hampir semua aplikasi web dinamis (seperti WordPress, toko online, atau forum) memerlukan database untuk menyimpan data. MariaDB adalah sistem manajemen database yang sangat populer, gratis, dan merupakan &#8220;saudara kembar&#8221; dari MySQL. Nah, langsung saja kita ke <strong>Cara Menginstal dan Mengamankan Database Server MariaDB di Ubuntu<\/strong><\/p>\n<p><b>Prasyarat:<\/b><\/p>\n<ul>\n<li>Server yang menjalankan sistem operasi Ubuntu.<\/li>\n<li>Akses ke server melalui terminal (SSH).<\/li>\n<li>Memiliki hak akses sudo.<\/li>\n<\/ul>\n<h3 id=\"_\" ><\/h3>\n<h3 id=\"langkah-1-instal-mariadb-server\" ><b>Langkah 1: Instal MariaDB Server<\/b><\/h3>\n<p>&nbsp;<\/p>\n<p>Sama seperti sebelumnya, kita mulai dengan memperbarui daftar paket. Ini adalah kebiasaan yang baik.<\/p>\n<div class=\"code-block ng-tns-c1437408396-114 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"code-block-decoration header-formatted gds-title-s ng-tns-c1437408396-114 ng-star-inserted\"><\/div>\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-114\">\n<div class=\"animated-opacity ng-tns-c1437408396-114\">\n<pre class=\"ng-tns-c1437408396-114\"><code class=\"code-container formatted ng-tns-c1437408396-114\" role=\"text\" data-test-id=\"code-content\">sudo apt update\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p>Setelah itu, instal paket mariadb-server menggunakan perintah berikut:<\/p>\n<div class=\"code-block ng-tns-c1437408396-115 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-115\">\n<div class=\"animated-opacity ng-tns-c1437408396-115\">\n<pre class=\"ng-tns-c1437408396-115\"><code class=\"code-container formatted ng-tns-c1437408396-115\" role=\"text\" data-test-id=\"code-content\">sudo apt install mariadb-server -y\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p>Proses ini akan mengunduh dan menginstal semua yang dibutuhkan untuk menjalankan server database di sistem Anda.<\/p>\n<h3 id=\"_\" ><\/h3>\n<h3 id=\"langkah-2-amankan-instalasi-mariadb-%ef%b8%8f\" ><b>Langkah 2: Amankan Instalasi MariaDB<\/b> \ufe0f<\/h3>\n<p>&nbsp;<\/p>\n<p>Instalasi default MariaDB tidak sepenuhnya aman. Untungnya, MariaDB menyediakan skrip untuk membantu kita mengamankan instalasi dengan mudah. Ini adalah langkah <b>paling penting<\/b>.<\/p>\n<p>Jalankan skrip keamanan berikut:<\/p>\n<div class=\"code-block ng-tns-c1437408396-116 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-116\">\n<div class=\"animated-opacity ng-tns-c1437408396-116\">\n<pre class=\"ng-tns-c1437408396-116\"><code class=\"code-container formatted ng-tns-c1437408396-116\" role=\"text\" data-test-id=\"code-content\">sudo mysql_secure_installation\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p>Anda akan ditanyai serangkaian pertanyaan. Berikut adalah rekomendasi jawaban untuk keamanan maksimal:<\/p>\n<ul>\n<li><code>Enter current password for root (enter for none):<\/code> Tekan <b>Enter<\/b> (karena belum ada password yang diatur).<\/li>\n<li><code>Switch to unix_socket authentication? [Y\/n]<\/code> Tekan <b>Y<\/b>. Ini meningkatkan keamanan dengan mengizinkan user root sistem untuk login tanpa password database (hanya dari dalam server).<\/li>\n<li><code>Change the root password? [Y\/n]<\/code> Tekan <b>Y<\/b>. Buatlah password yang kuat untuk akun root database.<\/li>\n<li><code>Remove anonymous users? [Y\/n]<\/code> Tekan <b>Y<\/b>. Ini mencegah pengguna tanpa nama untuk login.<\/li>\n<li><code>Disallow root login remotely? [Y\/n]<\/code> Tekan <b>Y<\/b>. Ini adalah langkah keamanan krusial yang mencegah orang mencoba menebak password root Anda dari internet.<\/li>\n<li><code>Remove test database and access to it? [Y\/n]<\/code> Tekan <b>Y<\/b>. Database test tidak diperlukan untuk produksi.<\/li>\n<li><code>Reload privilege tables now? [Y\/n]<\/code> Tekan <b>Y<\/b>. Ini akan menerapkan semua perubahan yang baru saja Anda buat.<\/li>\n<\/ul>\n<p>Setelah selesai, instalasi MariaDB Anda sekarang jauh lebih aman.<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<h3 id=\"langkah-3-verifikasi-akses-database\" ><b>Langkah 3: Verifikasi Akses Database<\/b><\/h3>\n<p>&nbsp;<\/p>\n<p>Mari kita coba login untuk memastikan semuanya berfungsi. Karena kita mengaktifkan <i>unix_socket authentication<\/i> pada langkah sebelumnya, cara paling mudah untuk login sebagai admin (root) adalah dengan sudo.<\/p>\n<div class=\"code-block ng-tns-c1437408396-117 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-117\">\n<div class=\"animated-opacity ng-tns-c1437408396-117\">\n<pre class=\"ng-tns-c1437408396-117\"><code class=\"code-container formatted ng-tns-c1437408396-117\" role=\"text\" data-test-id=\"code-content\">sudo mariadb\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p>Jika berhasil, Anda akan masuk ke dalam prompt MariaDB, yang terlihat seperti ini:<\/p>\n<div class=\"code-block ng-tns-c1437408396-118 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-118\">\n<div class=\"animated-opacity ng-tns-c1437408396-118\">\n<pre class=\"ng-tns-c1437408396-118\"><code class=\"code-container formatted ng-tns-c1437408396-118 no-decoration-radius\" role=\"text\" data-test-id=\"code-content\">MariaDB [(none)]&gt;\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p>Ini adalah konsol tempat Anda bisa menjalankan perintah-perintah SQL. Untuk keluar, cukup ketik exit; dan tekan Enter.<\/p>\n<div class=\"code-block ng-tns-c1437408396-119 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-119\">\n<div class=\"animated-opacity ng-tns-c1437408396-119\">\n<pre class=\"ng-tns-c1437408396-119\"><code class=\"code-container formatted ng-tns-c1437408396-119\" role=\"text\" data-test-id=\"code-content\">exit;\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<h3 id=\"langkah-4-bonus-membuat-database-dan-user-baru\" ><b>Langkah 4 (Bonus): Membuat Database dan User Baru<\/b><\/h3>\n<p>Menggunakan akun root untuk aplikasi adalah praktik yang buruk. Sebaiknya, buat database dan user spesifik untuk setiap aplikasi Anda.<\/p>\n<ol start=\"1\">\n<li><b>Login kembali sebagai root:<\/b>\n<div class=\"code-block ng-tns-c1437408396-120 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-120\">\n<div class=\"animated-opacity ng-tns-c1437408396-120\">\n<pre class=\"ng-tns-c1437408396-120\"><code class=\"code-container formatted ng-tns-c1437408396-120\" role=\"text\" data-test-id=\"code-content\">sudo mariadb\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li><b>Jalankan perintah SQL berikut satu per satu.<\/b> Ganti nama_database_anda, user_baru, dan password_sangat_kuat dengan nilai Anda sendiri.\n<ul>\n<li><b>Buat database baru:<\/b>\n<div class=\"code-block ng-tns-c1437408396-121 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-121\">\n<div class=\"animated-opacity ng-tns-c1437408396-121\">\n<pre class=\"ng-tns-c1437408396-121\"><code class=\"code-container formatted ng-tns-c1437408396-121\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-keyword\">CREATE<\/span> DATABASE nama_database_anda;\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li><b>Buat user baru dan atur passwordnya:<\/b>\n<div class=\"code-block ng-tns-c1437408396-122 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-122\">\n<div class=\"animated-opacity ng-tns-c1437408396-122\">\n<pre class=\"ng-tns-c1437408396-122\"><code class=\"code-container formatted ng-tns-c1437408396-122\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">USER<\/span> <span class=\"hljs-string\">'user_baru'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> IDENTIFIED <span class=\"hljs-keyword\">BY<\/span> <span class=\"hljs-string\">'password_sangat_kuat'<\/span>;\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li><b>Berikan semua hak akses pada database tersebut kepada user baru:<\/b>\n<div class=\"code-block ng-tns-c1437408396-123 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-123\">\n<div class=\"animated-opacity ng-tns-c1437408396-123\">\n<pre class=\"ng-tns-c1437408396-123\"><code class=\"code-container formatted ng-tns-c1437408396-123\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-keyword\">GRANT<\/span> <span class=\"hljs-keyword\">ALL<\/span> PRIVILEGES <span class=\"hljs-keyword\">ON<\/span> nama_database_anda.<span class=\"hljs-operator\">*<\/span> <span class=\"hljs-keyword\">TO<\/span> <span class=\"hljs-string\">'user_baru'<\/span>@<span class=\"hljs-string\">'localhost'<\/span>;\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li><b>Terapkan perubahan:<\/b>\n<div class=\"code-block ng-tns-c1437408396-124 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-124\">\n<div class=\"animated-opacity ng-tns-c1437408396-124\">\n<pre class=\"ng-tns-c1437408396-124\"><code class=\"code-container formatted ng-tns-c1437408396-124\" role=\"text\" data-test-id=\"code-content\">FLUSH PRIVILEGES;\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li><b>Keluar:<\/b>\n<div class=\"code-block ng-tns-c1437408396-125 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-125\">\n<div class=\"animated-opacity ng-tns-c1437408396-125\">\n<pre class=\"ng-tns-c1437408396-125\"><code class=\"code-container formatted ng-tns-c1437408396-125\" role=\"text\" data-test-id=\"code-content\">exit;\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<li><b>Tes login dengan user baru:<\/b> Sekarang coba login menggunakan user yang baru saja Anda buat.\n<div class=\"code-block ng-tns-c1437408396-126 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1437408396-126\">\n<div class=\"animated-opacity ng-tns-c1437408396-126\">\n<pre class=\"ng-tns-c1437408396-126\"><code class=\"code-container formatted ng-tns-c1437408396-126\" role=\"text\" data-test-id=\"code-content\">mariadb -u user_baru -p\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p>Kita akan diminta memasukkan password (password_sangat_kuat yang Kita buat). Jika berhasil, Kita akan masuk ke prompt MariaDB, membuktikan bahwa user baru Kita berfungsi!<\/li>\n<\/ol>\n","protected":false},"author":3,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":[],"ht_kb_category":[107],"ht_kb_tag":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.jagoweb.com\/kb\/wp-json\/wp\/v2\/ht_kb\/2322"}],"collection":[{"href":"https:\/\/www.jagoweb.com\/kb\/wp-json\/wp\/v2\/ht_kb"}],"about":[{"href":"https:\/\/www.jagoweb.com\/kb\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.jagoweb.com\/kb\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jagoweb.com\/kb\/wp-json\/wp\/v2\/comments?post=2322"}],"version-history":[{"count":1,"href":"https:\/\/www.jagoweb.com\/kb\/wp-json\/wp\/v2\/ht_kb\/2322\/revisions"}],"predecessor-version":[{"id":2323,"href":"https:\/\/www.jagoweb.com\/kb\/wp-json\/wp\/v2\/ht_kb\/2322\/revisions\/2323"}],"wp:attachment":[{"href":"https:\/\/www.jagoweb.com\/kb\/wp-json\/wp\/v2\/media?parent=2322"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.jagoweb.com\/kb\/wp-json\/wp\/v2\/ht_kb_category?post=2322"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.jagoweb.com\/kb\/wp-json\/wp\/v2\/ht_kb_tag?post=2322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}