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:
apt
mariadb-server
menggunakan apt
. Paket ini juga menyertakan alat-alat terkait untuk berinteraksi dengan MariaDBmysql_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.
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.
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.
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).
OutputNOTE: 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.
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.
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:
Outputmysqladmin 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.
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:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!