Cài đặt MariaDB trên Ubuntu 20.04 [Quickstart]

Hướng dẫn nhanh sau đây mô tả cách cài đặt MariaDB trên một máy chủ Ubuntu 20.04 và thiết lập nó với cấu hình ban đầu an toàn. Điều này cũng sẽ giúp bạn thiết lập một tài khoản quản trị bổ sung để truy cập bằng mật khẩu.

Yêu cầu tiên quyết

Để làm theo hướng dẫn này, bạn cần một máy chủ chạy Ubuntu Máy chủ này nên có một người dùng quản trị không phải root và một tường lửa được cấu hình với UFW. Thiết lập này được thực hiện bằng cách làm theo hướng dẫn thiết lập máy chủ ban đầu cho Ubuntu 20.04.

Bước 1 — Cài đặt MariaDB

Trước khi cài đặt MariaDB, cập nhật chỉ mục gói trên máy chủ của bạn bằng lệnh apt:

sudo apt update

Sau đó cài đặt gói tin:

sudo apt install mariadb-server

Khi cài đặt từ kho lưu trữ mặc định, MariaDB sẽ tự động chạy. Để kiểm tra điều này, kiểm tra trạng thái của nó.

sudo systemctl status mariadb

Bạn sẽ nhận được đầu ra tương tự như sau:

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
. . .

Nếu MariaDB không chạy, bạn khởi động nó bằng lệnh sudo systemctl start mariadb.

Bước 2 — Cấu hình MariaDB

Chạy script bảo mật đi kèm đã được cài đặt với MariaDB. Điều này yêu cầu bạn thực hiện một loạt các câu hỏi để thay đổi các tùy chọn bảo mật cho cài đặt MariaDB:

sudo mysql_secure_installation

Câu hỏi đầu tiên sẽ yêu cầu bạn nhập mật khẩu root cơ sở dữ liệu hiện tại. Vì bạn chưa thiết lập mật khẩu root, hãy nhấn ENTER để chỉ định "none".

Output
. . .
Enter current password for root (enter for none):

Câu hỏi tiếp theo hỏi bạn liệu có muốn thiết lập mật khẩu root cơ sở dữ liệu hay không. Trên Ubuntu, tài khoản root cho MariaDB liên quan chặt chẽ đến việc bảo trì hệ thống tự động, vì vậy chúng ta không nên thay đổi các phương thức xác thực được cấu hình cho tài khoản đó. Gõ N và sau đó nhấn ENTER.

Output
. . .
Set root password? [Y/n] N

Từ đó, bạn có thể nhấn Y và sau đó nhấn ENTER để chấp nhận các giá trị mặc định cho tất cả các câu hỏi tiếp theo. Điều này ssẽ loại bỏ một số người dùng ẩn danh và cơ sở dữ liệu kiểm tra, vô hiệu hóa đăng nhập root từ xa và sau đó tải các quy tắc mới này.

Bước 3 — (Tùy chọn) Tạo một người dùng quản trị sử dụng xác thực mật khẩu

Trên các hệ thống Ubuntu chạy MariaDB 10.3, người dùng root của MariaDB được cấu hình để xác thực bằng cách sử dụng plugin unix_socket mặc định thay vì sử dụng mật khẩu. Bởi vì máy chủ sử dụng tài khoản root cho các nhiệm vụ như xoay log và khởi động và dừng máy chủ, tốt nhất là không thay đổi chi tiết xác thực của tài khoản root. Thay vào đó, các nhà quản lý gói đề xuất tạo một tài khoản quản trị riêng biệt cho việc truy cập dựa trên mật khẩu.

Để làm điều này, mở giao diện dòng lệnh của MariaDB từ cửa sổ terminal:

sudo mariadb

Sau đó, tạo một người dùng mới có đặc quyền root và truy cập dựa trên mật khẩu. Hãy đảm bảo thay đổi tên người dùng và mật khẩu để phù hợp với sở thích của bạn:

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

Xóa các đặc quyền để đảm bảo rằng chúng được lưu và có sẵn trong phiên hiện tại:

FLUSH PRIVILEGES;

Sau đó, thoát khỏi giao diện MariaDB shell:

exit

Bạn có thể kiểm tra người dùng mới này bằng công cụ mysqladmin, một khách hàng cho phép bạn chạy các lệnh quản trị. Lệnh mysqladmin sau đây kết nối với MariaDB dưới dạng người dùng admin và trả về số phiên bản sau khi yêu cầu mật khẩu người dùng:

mysqladmin -u admin -p version

Bạn sẽ nhận được kết quả tương tự như sau:

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

Kết luận

Trong hướng dẫn này, bạn đã cài đặt hệ thống quản lý cơ sở dữ liệu quan hệ MariaDB và bảo mật nó bằng cách sử dụng kịch bản mysql_secure_installation đi kèm. Bạn cũng có lựa chọn tạo một người dùng quản trị mới sử dụng xác thực mật khẩu.