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 giải pháp thay thế cho MySQL trong phần cơ sở dữ liệu của bộ công cụ LAMP (Linux, Apache, MySQL, PHP/Python/Perl) phổ biến. Nó được thiết kế để thay thế trực tiếp cho MySQL.
Để cài đặt MariaDB trên Ubuntu 22.04 hiệu quả, bạn cần một máy chủ ổn định. Khám phá các gói VPS giá rẻ tại DataOnline, cung cấp tài nguyên mạnh mẽ, chi phí hợp lý, giúp bạn triển khai cơ sở dữ liệu nhanh chóng và tiết kiệm.
Phiên bản ngắn gọn của hướng dẫn cài đặt này bao gồm ba bước sau:
- Cập nhật danh sách gói của bạn bằng
apt
- Cài đặt gói
mariadb-server
bằngapt
. Gói này cũng kèm theo các công cụ liên quan để tương tác với MariaDB - Chạy script 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
Sau đây, DataOnline sẽ giải thích cách cài đặt MariaDB trên máy chủ Ubuntu 22.04 và xác minh rằng nó đang chạy với cấu hình ban đầu an toàn.
Yêu cầu tiên quyết
- Để làm theo hướng dẫn này, bạn sẽ cần một máy chủ chạy Ubuntu 22.04. 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 điều này bằng cách làm theo hướng dẫn thiết lập máy chủ ban đầu Ubuntu 22.04.
Bước 1 – Cài đặt MariaDB
Tính đến thời điểm viết bài này, kho lưu trữ APT mặc định của Ubuntu 22.04 bao gồm MariaDB phiên bản 10.5.12. Để cài đặt, hãy cập nhật danh sách gói trên máy chủ của bạn với apt
:
sudo apt update
Sau đó cài đặt gói:
sudo apt install mariadb-server
Các 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 khiến bản cài đặt MariaDB của bạn không an toàn, bạn sẽ sử dụng một script được cung cấp bởi gói mariadb-server
để hạn chế quyền truy cập vào máy chủ và loại bỏ các tài khoản không sử dụng.
Bước 2 – Cấu hình MariaDB
Đối với các bản cài đặt MariaDB mới, bước tiếp theo là chạy script bảo mật đi kèm. Script này thay đổi một số tùy chọn mặc định kém an toàn hơn cho những thứ như đăng nhập root từ xa và tài khoản người dùng mẫu.
Chạy script bảo mật:
sudo mysql_secure_installation
Thao tác này sẽ đưa bạn qua một loạt các lời nhắc nơi bạn có thể thực hiện một số thay đổi đối với tùy chọn bảo mật của bản cài đặt MariaDB. Lời nhắc đầ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, hãy nhấn ENTER
để chỉ định “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 có muốn chuyển sang xác thực unix socket 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
Lời nhắc 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 gắn liền chặt chẽ với việc bảo trì hệ thống tự động, vì vậy 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 đó.
Làm như vậy sẽ khiến cập nhật gói có thể làm hỏng hệ thống cơ sở dữ liệu bằng cách loại 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 đó, bạn có thể nhấn Y
và sau đó 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 thử nghiệm, vô hiệu hóa đăng nhập root từ xa, và tải các quy tắc mới này để MariaDB ngay lập tức thực hiện các thay đổi bạn đã thực hiện.
Với việc đó, 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, mặc dù bạn nên làm theo nếu bạn muốn xác thực vào máy chủ MariaDB của mình bằng mật khẩu.
Bước 3 – (Tùy chọn) Tạo người dùng quản trị sử dụng xác thực mật khẩu
Trên hệ thống Ubuntu chạy MariaDB 10.5, người dùng root MariaDB được thiết lập để xác thực bằng plugin unix_socket
theo mặc định thay vì bằng mật khẩu. Điều này cho phép một số bảo mật và khả năng sử dụng tốt hơn trong nhiều trường hợp, nhưng nó cũng có thể làm phức tạp mọi thứ 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ị.
Vì máy chủ sử dụng tài khoản root cho các tác vụ như xoay vòng nhật ký 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 đổ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ì sửa đổi tài khoản root, người bảo trì gói khuyên nên tạo một tài khoản quản trị riêng biệt cho truy cập dựa trên mật khẩu.
Để đạt được điều này, chúng ta sẽ tạo một tài khoản mới có tên admin với các khả năng giống như tài khoản root, nhưng được cấu hình cho xác thực bằng mật khẩu. Mở dấu nhắc 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. 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 bộ nhớ đệm 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 shell MariaDB:
exit
Cuối cùng, hãy kiểm tra việc cài đặt MariaDB.
Bước 4 – Kiểm tra MariaDB
Khi được cài đặt từ các kho lưu trữ mặc định, MariaDB sẽ tự động bắt đầu 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ó với lệnh sudo systemctl start mariadb
.
Để kiểm tra thêm, bạn có thể thử kết nối với cơ sở dữ liệu bằng công cụ mysqladmin
, một client cho phép bạn chạy các lệnh quản trị. Ví dụ, lệnh này nói kết nối với MariaDB dưới quyền root bằ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ư sau:
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
Kết luận
Trong hướng dẫn này, bạn đã cài đặt thành công MariaDB – hệ quản trị cơ sở dữ liệu quan hệ – và tăng cường bảo mật cho nó bằng script mysql_secure_installation. Bạn cũng đã tạo tùy chọn một người dùng quản trị mới với xác thực bằng mật khẩu để đảm bảo tính an toàn trước khi kiểm tra chức năng của máy chủ.
Sau khi cấu hình MariaDB, bạn muốn tối ưu hiệu suất? Hãy thuê VPS từ DataOnline với tốc độ cao, bảo mật vượt trội. VPS linh hoạt hỗ trợ mọi dự án, từ cơ sở dữ liệu đến ứng dụng web, đảm bảo trải nghiệm mượt mà.
Giờ đây, bạn đã có một máy chủ MariaDB hoạt động ổn định và an toàn. Dưới đây là một số ví dụ về các bước tiếp theo mà bạn có thể thực hiện để tận dụng tối đa máy chủ của mình:
- Tìm hiểu cách nhập và xuất cơ sở dữ liệu
- Thực hành chạy các truy vấn SQL
- Tích hợp MariaDB vào một bộ ứng dụng lớn hơn