Cách cài đặt MariaDB trên Ubuntu 22.04

Hướng dẫn này sẽ giải thích cách cài đặt MariaDB trên Ubuntu 22.04 và xác minh rằng nó đang hoạt động và có cấu hình ban đầu an toàn. MariaDB là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở, thường được sử dụng như một sự thay thế cho MySQL trong phần cơ sở dữ liệu của LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Nó được thiết kế để là một phiên bản thay thế tức thì cho MySQL.

Phiên bản ngắn gọn của hướng dẫn này bao gồm ba bước sau:

  • Cập nhật chỉ mục gói bằng apt.
  • Cài đặt gói mariadb-server bằng apt. Gói này cũng kéo theo các công cụ liên quan để tương tác với MariaDB.
  • Chạy tập lệnh bảo mật mysql_secure_installation đi kèm để hạn chế quyền truy cập vào máy chủ.

$ sudo apt update

$ sudo apt install mariadb-server

$ sudo mysql_secure_installation

Yêu cầu cần thiết khi cài đặt MariaDB trên Ubuntu

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

Hướng dẫn cách cài đặt MariaDB trên Ubuntu 22.04

Bước 1 - Cài đặt MariaDB trên Ubuntu

Hiện tại, kho lưu trữ APT mặc định của Ubuntu 22.04 bao gồm phiên bản MariaDB 10.Để cài đặt nó, cập nhật chỉ mục gói trên máy chủ của bạn bằng apt:

$ sudo apt update

Tiếp theo, cài đặt gói:

$ sudo apt install mariadb-server

Những lệnh này sẽ cài đặt MariaDB nhưng sẽ không yêu cầu bạn đặt mật khẩu hoặc thực hiện bất kỳ thay đổi cấu hình nào khác. Vì cấu hình mặc định để cài đặt MariaDB không an toàn, bạn sẽ sử dụng một tập lệnh mà gói mariadb-server cung cấp để hạn chế quyền truy cập vào máy chủ và xóa các tài khoản không sử dụng.

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

Đối với cài đặt MariaDB mới, bước tiếp theo là chạy tập lệnh bảo mật đi kèm. Tập lệnh này thay đổi một số tùy chọn mặc định ít an toàn, chẳng hạn như đăng nhập root từ xa và các người dùng mẫu.

Chạy tập lệnh bảo mật:

$ sudo mysql_secure_installation

Điều này sẽ đưa bạn qua một loạt các thông báo mà bạn có thể thay đổi một số tùy chọn bảo mật cho cài đặt MariaDB trên Ubuntu của bạn. Thông báo đầu tiên sẽ yêu cầu bạn nhập mật khẩu root hiện tại của cơ sở dữ liệu. Vì bạn chưa đặt mật khẩu, hãy nhấn ENTER để chỉ định "none" (không có).

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, you'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):

Bạn sẽ được hỏi liệu bạn có muốn chuyển sang xác thực qua ổ cắm Unix hay không. Vì bạn đã có một tài khoản root được bảo vệ, bạn có thể bỏ qua bước này. Nhập "n" và sau đó nhấn ENTER.

Output
. . .
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] n

Thông báo tiếp theo hỏi bạn liệu bạn có muốn thiết lập mật khẩu root cho 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, do đó bạn 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 đó.

Nếu làm như vậy, có thể khiến cho một gói cập nhật gây hỏng hệ thống cơ sở dữ liệu bằng cách gỡ bỏ quyền truy cập vào tài khoản quản trị. Nhập "n" và sau đó nhấn 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

Sau này, bạn sẽ tìm hiểu cách thiết lập một tài khoản quản trị bổ sung cho việc truy cập bằng mật khẩu nếu xác thực qua ổ cắm không phù hợp với trường hợp sử dụng của bạ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 sẽ 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à tải các quy tắc mới để MariaDB ngay lập tức thực hiện các thay đổi bạn đã thực hiện.

Với điều đó, bạn đã hoàn thành cấu hình bảo mật ban đầu của MariaDB. Bước tiếp theo là tùy chọn, tuy nhiên, bạn nên làm theo nếu bạn muốn xác thực với máy chủ MariaDB bằng mật khẩu.

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.5, người dùng root của MariaDB được đặt để xác thực bằng cách sử dụng tiện ích unix_socket mặc định thay vì sử dụng mật khẩu. Điều này cho phép tăng cường bảo mật và tính khả dụng trong nhiều trường hợp, nhưng cũng có thể làm phức tạp khi bạn cần cho phép một chương trình bên ngoài (ví dụ: phpMyAdmin) có quyền quản trị.

Bởi vì máy chủ sử dụng tài khoản root cho các nhiệm vụ như xoay log, khởi động và dừng máy chủ, nên tốt nhất là không thay đổi chi tiết xác thực của tài khoản root. 

Việc thay đổi thông tin đăng nhập trong tệp cấu hình /etc/mysql/debian.cnf có thể hoạt động ban đầu nhưng các bản cập nhật gói có thể ghi đè lên những thay đổi đó. Thay vì thay đổi tài khoản root, các nhà quản lý gói khuyến nghị 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.

Với mục đích này, chúng ta sẽ tạo một tài khoản mới được gọi là admin với cùng các khả năng như tài khoản root, nhưng được cấu hình để xác thực bằng mật khẩu. 

Mở cửa sổ giao diện dòng lệnh MariaDB từ terminal của bạn:

$ sudo mariadb

Sau đó, tạo một người dùng mới với đặc quyền root và truy cập dựa trên mật khẩu. Đả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:

MariaDB [(none)]> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Thực hiện lệnh "flush privileges" để đảm bảo rằng các quyền được lưu và có sẵn trong phiên làm việc hiện tại:

MariaDB [(none)]> FLUSH PRIVILEGES;

Sau đó, thoát khỏi shell MariaDB:

MariaDB [(none)]> exit

Cuối cùng, hãy kiểm tra cài đặt MariaDB trên Ubuntu trong bước tiếp theo.

Bước 4 - Kiểm tra MariaDB

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, hã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.5.12 database server

     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-03-11 22:01:33 UTC; 14min ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
. . .

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

Để kiểm tra bổ sung, bạn có thể thử kết nối vào cơ sở dữ liệu bằng công cụ mysqladmin, đó là một công cụ client cho phép bạn chạy các lệnh quản trị. Ví dụ, lệnh sau đây kết nối đến MariaDB với quyền root sử dụng Unix socket và trả về phiên bản:

$ sudo mysqladmin version

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

Output
mysqladmin  Ver 9.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Server version        10.5.12-MariaDB-1build1
Protocol version    10
Connection        Localhost via UNIX socket
UNIX socket        /run/mysqld/mysqld.sock
Uptime:            15 min 53 sec

Threads: 1  Questions: 482  Slow queries: 0  Opens: 171  Open tables: 28  Queries per second avg: 0.505

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 tập lệnh mysql_secure_installation được cài đặt sẵn. Bạn cũng có tùy 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 trước khi kiểm tra tính năng của máy chủ MariaDB. Hãy vận dụng ngay cách cài đặt MariaDB trên Ubuntu theo hướng dẫn để thiết lập tài khoản của chính mình nhé.

Mọi người cũng tìm kiếm: install mariadb ubuntu 22.04, mariadb ubuntu 22.04.