Tutorial

Cara Menginstal MariaDB pada Ubuntu 20.04

UbuntuMySQLMariaDBDatabasesUbuntu 20.04

Pengantar

MariaDB adalah sistem manajemen basis data relasional sumber terbuka, yang biasanya digunakan sebagai alternatif dari MySQL sebagai bagian basis data dari tumpukan LAMP (Linux, Apache, MySQL, PHP/Python/Perl) yang populer. Ini dimaksudkan untuk menjadi pengganti MySQL yang paling sesuai.

Versi singkat dari panduan instalasi ini terdiri dari tiga langkah berikut:

  • Perbarui indeks paket Anda menggunakan apt
  • Instal paket mariadb-server menggunakan apt. Paket ini juga menyertakan alat-alat terkait untuk berinteraksi dengan MariaDB
  • Jalankan skrip keamanan mysql_secure_installation yang termasuk di dalamnya, untuk membatasi akses ke server
  • sudo apt update
  • sudo apt install mariadb-server
  • sudo mysql_secure_installation

Tutorial ini akan menjelaskan cara menginstal MariaDB pada server Ubuntu 20.04, dan memverifikasi bahwa sistem ini berjalan serta memiliki konfigurasi awal yang aman.

Prasyarat

Untuk mengikuti tutorial ini, Anda akan membutuhkan server yang menjalankan Ubuntu 20.04. Server ini harus memiliki pengguna administratif non-root dan firewall yang dikonfigurasi dengan UFW. Siapkan ini dengan mengikuti panduan penyiapan server awal untuk Ubuntu 20.04 kami.

Langkah 1 — Menginstal MariaDB

Pada saat penulisan panduan ini, repositori APT asali dari Ubuntu 20.04 menyertakan MariaDB versi 10.3.

Untuk menginstalnya, perbarui indeks paket pada server Anda dengan apt:

  • sudo apt update

Lalu instal paket:

  • sudo apt install mariadb-server

Perintah ini akan menginstal MariaDB, tetapi tidak akan meminta Anda untuk menetapkan kata sandi atau membuat perubahan konfigurasi lain. Karena konfigurasi asali membuat instalasi MariaDB Anda menjadi tidak aman, kita akan menggunakan skrip yang disediakan paket mariadb-server untuk membatasi akses ke server dan menghapus akun yang tidak digunakan.

Langkah 2 — Mengonfigurasi MariaDB

Untuk instalasi MariaDB yang baru, langkah selanjutnya adalah menjalankan skrip keamanan yang disertakan. Skrip ini mengubah sebagian dari opsi asali yang kurang aman untuk hal-hal seperti log masuk root jarak jauh dan pengguna sampel.

Jalankan skrip keamanan:

  • sudo mysql_secure_installation

Ini akan membawa Anda melalui serangkaian prompt untuk membuat beberapa perubahan pada opsi keamanan dari instalasi MariaDB. Prompt pertama akan meminta Anda untuk memasukkan kata sandi root basis data saat ini. Karena Anda belum menyiapkan kata sandi, tekan ENTER untuk mengindikasikan “none” (tidak ada).

Output
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 you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):

Prompt berikutnya menanyakan apakah Anda ingin menyiapkan kata sandi root basis data. Pada Ubuntu, akun root untuk MariaDB sudah terikat erat ke pemeliharaan sistem terautomasi, jadi kita jangan mengubah metode autentikasi yang dikonfigurasi untuk akun itu. Melakukan hal tersebut akan memungkinkan pembaruan paket untuk merusak sistem basis data dengan menghapus akses ke akun administratif. Ketik N lalu tekan ENTER.

Output
. . . OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] N

Nanti kita akan membahas cara menyiapkan akun administratif tambahan untuk akses kata sandi jika autentikasi soket tidak sesuai dengan kasus penggunaan Anda.

Dari sana, Anda dapat menekan Y lalu ENTER untuk menerima jawaban asali pada semua pertanyaan berikutnya. Ini akan menghapus sebagian pengguna anonim dan basis data percobaan, menonaktifkan log masuk root jarak jauh, dan memuat aturan-aturan baru ini sehingga MariaDB segera menerapkan perubahan yang Anda buat.

Dengan itu, Anda telah menyelesaikan konfigurasi keamanan awal dari MariaDB. Langkah selanjutnya bersifat opsional, meskipun Anda harus mengikutinya jika Anda lebih memilih untuk melakukan autentikasi ke server MariaDB dengan kata sandi.

Langkah 3 — (Opsional) Menciptakan Pengguna Administratif yang Menggunakan Autentikasi Sandi

Pada sistem Ubuntu yang menjalankan MariaDB 10.3, pengguna MariaDB root sudah disiapkan untuk melakukan autentikasi dengan menggunakan plugin unix_socket secara asali alih-alih dengan kata sandi. Ini mengaktifkan keamanan dan kegunaan yang lebih baik pada banyak kasus, tetapi ini juga dapat memperumit keadaan ketika Anda perlu memberikan hak administratif kepada program eksternal (misalnya, phpMyAdmin).

Karena server menggunakan akun root untuk tugas-tugas seperti rotasi log dan memulai serta menghentikan server, sebaiknya jangan mengubah detail autentikasi dari akun root. Mengubah kredensial dalam berkas konfigurasi /etc/mysql/debian.cnf memang dapat bekerja pada awalnya, tetapi pembaruan paket dapat berpotensi menimpa perubahan tersebut. Alih-alih memodifikasi akun root, pemelihara paket menyarankan untuk menciptakan akun administratif terpisah untuk akses berbasis kata sandi.

Hingga titik ini, kita akan menciptakan akun baru bernama admin dengan kemampuan yang sama seperti akun root, tetapi dikonfigurasi untuk autentikasi kata sandi. Buka prompt MariaDB dari terminal Anda:

  • sudo mariadb

Lalu ciptakan pengguna baru dengan privilese root dan akses berbasis kata sandi. Pastikan untuk mengubah nama pengguna dan kata sandi agar sesuai dengan preferensi Anda:

  • GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Bersihkan privilese untuk memastikan bahwa pengguna itu sudah disimpan dan tersedia di sesi ini:

  • FLUSH PRIVILEGES;

Setelah ini, keluarlah dari shell MariaDB:

  • exit

Terakhir, mari kita uji instalasi MariaDB.

Langkah 4 — Menguji MariaDB

MariaDB akan mulai berjalan secara otomatis ketika diinstal dari repositori asali. Untuk menguji ini, periksa statusnya.

  • sudo systemctl status mariadb

Anda akan menerima keluaran yang mirip dengan berikut ini:

Output
● mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-05-12 13:38:18 UTC; 3min 55s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 25914 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 2345) Memory: 65.6M CGroup: /system.slice/mariadb.service └─25914 /usr/sbin/mysqld . . .

Jika MariaDB tidak berjalan, Anda dapat memulainya dengan perintah sudo systemctl start mariadb.

Sebagai pemeriksaan tambahan, Anda dapat mencoba terhubung ke basis data dengan menggunakan alat mysqladmin, yang merupakan suatu klien yang memungkinkan Anda menjalankan perintah administratif. Sebagai contoh, perintah ini mengatakan untuk terhubung ke MariaDB sebagai root dengan menggunakan soket Unix dan merespons dengan menampilkan versi:

  • sudo mysqladmin version

Anda akan menerima keluaran yang mirip dengan ini:

Output
mysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.3.22-MariaDB-1ubuntu1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 4 min 49 sec Threads: 7 Questions: 467 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables: 31 Queries per second avg: 1.615

Jika Anda mengonfigurasi pengguna administratif terpisah dengan autentikasi kata sandi, Anda dapat melakukan operasi yang sama dengan mengetik:

  • mysqladmin -u admin -p version

Ini berarti bahwa MariaDB sudah aktif dan berjalan serta pengguna Anda berhasil melakukan autentikasi.

Kesimpulan

Dalam panduan ini, Anda telah menginstal sistem manajemen basis data relasional MariaDB, dan mengamankannya menggunakan skrip mysql_secure_installation yang ikut serta terinstal. Anda juga memiliki opsi untuk menciptakan pengguna administratif baru yang menggunakan autentikasi kata sandi sebelum menguji fungsi server MariaDB.

Karena kini Anda memiliki server MariaDB yang berjalan dan aman, berikut ini adalah beberapa contoh langkah selanjutnya yang Anda dapat ambil untuk bekerja dengan server ini:

Creative Commons License