Mục lục

Không có mục lục

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

Ngày đăng: 9 tháng 11 năm 2022

Ubuntu

description image

Giới thiệu

MariaDB là một hệ quản trị cơ sở dữ liệu có mã nguồn mở, thường được sử dụng thay thế cho MySQL như một phần của LAMP (Linux, Apache, MySQL, PHP / Python / Perl). Nó được thiết kế để thay thế MySQL. Bài viết này sẽ hướng dẫn bạn cách cài đặt MariaDB bao gồm 3 bước sau:

  • Cập nhật chỉ package của bạn chỉ bằng apt.
  • Cài đặt gói máy chủ Mariadb bằng apt.
  • 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ủ.
  1. sudo apt update
  2. sudo apt install mariadb-server
  3. sudo mysql_secure_installation

Hướng dẫn này sẽ giải thích cách cài đặt MariaDB trên máy chủ Ubuntu 20.04 và xác minh rằng nó đang chạy và có cấu hình ban đầu an toàn.

Điều kiện

Để làm theo hướng dẫn này, bạn sẽ cần một máy chủ chạy Ubuntu 20.04. Bạn phải có toàn quyền truy cập máy chủ này dưới vai trò non-root user có đặc quyền sudo. Và chắc chắn rằng tường lửa được định cấu hình bằng UFW.

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

Theo bài viết này, kho lưu trữ APT mặc định của Ubuntu 20.04 là MariaDB phiên bản 10.3.

Để cài đặt nó, hãy cập nhật chỉ mục gói trên máy chủ của bạn với apt:

  1. sudo apt update

Cài đặt package:

  1. sudo apt install mariadb-server

Đảm bảo rằng MariaDB đang chạy với lệnh bắt đầu systemctl start:

  1. sudo systemctl start mariadb.service

Các lệnh này sẽ cài đặt và khởi động MariaDB, nhưng sẽ không nhắc 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 cho cài đặt MariaDB của bạn không an toàn, chúng tôi sẽ sử dụng tập lệnh mà 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 - Định 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 kém an toàn hơn cho những thứ như thông tin đăng nhập gốc từ xa và người dùng mẫu.

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

  1. sudo mysql_secure_installation

Thao tác này sẽ đưa bạn qua một loạt lời nhắc mà bạn có thể thực hiện một số thay đổi đối với các tùy chọn bảo mật của cài đặt MariaDB. Lời nhắc đầu tiên sẽ yêu cầu bạn nhập mật khẩu gốc của cơ sở dữ liệu hiện tại. Vì bạn chưa thiết lập một tài khoản nào, hãy nhấn ENTER để biểu thị “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, 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):

Lời nhắc tiếp theo sẽ hỏi bạn liệu bạn có muốn thiết lập mật khẩu gốc của cơ sở dữ liệu hay không. Trên Ubuntu, tài khoản gốc cho MariaDB được gắn chặt với hệ thống bảo trì tự động,. Vì vậy chúng ta không nên thay đổi các phương thức xác thực đã định cấu hình cho tài khoản đó. Làm như vậy sẽ làm cho bản cập nhật gói có thể phá vỡ hệ thống cơ sở dữ liệu bằng cách xóa quyền truy cập vào tài khoản quản trị. Gõ N rồi 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

Tiếp theo, chúng tôi sẽ trình bày cách thiết lập tài khoản quản trị bổ sung để truy cập mật khẩu nếu xác thực trên 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 rồi 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. Thao tác này sẽ xóa 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 triển khai các thay đổi bạn đã thực hiện.

Sau đó, 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à bước không bắt buộc, tuy nhiên bạn nên làm theo nếu muốn xác thực máy chủ MariaDB của mình bằng mật khẩu.

Bước 3: Tạo người dùng quản trị sử dụng xác thực mật khẩu (không bắt buộc)

Trên hệ thống Ubuntu chạy MariaDB 10.3, người dùng MariaDB root được đặt để xác thực bằng 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 cao 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) 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, khởi động và dừng máy chủ, tốt nhất là bạn không nên thay đổi chi tiết xác thực của tài khoản gốc. Thay đổi thông tin đăng nhập trong tệp cấu hình /etc/mysql/debian.cnftuy vẫn có thể hoạt động như ban đầu, nhưng các bản cập nhật có thể có khả năng ghi đè lên những thay đổi đó. Thay vì sửa đổi tài khoản root, những người bảo trì package khuyến nghị bạn nên tạo một tài khoản quản trị riêng để truy cập dựa trên mật khẩu.

Để làm được điều này, chúng ta sẽ tạo một tài khoản mới có tên là admin với các khả năng tương tự như tài khoản root, nhưng được định cấu hình để xác thực mật khẩu. Mở lời nhắc MariaDB từ thiết bị đầu cuối của bạn:

  1. sudo mariadb
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à khả dụng trong phiên hiện tại:

  1. FLUSH PRIVILEGES;

Sau đó, thoát khỏi trình duyệt MariaDB:

  1. exit

Cuối cùng, hãy kiểm tra cài đặt MariaDB.

Bước 4: Kiểm tra MariaDB

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

  1. 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 có thể khởi động nó bằng 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, đây là một ứng dụng khách cho phép bạn chạy các lệnh quản trị. Ví dụ: lệnh này cho biết kết nối với MariaDB dưới dạng root bằng cách sử dụng Unix socket và trả về phiên bản:

  1. sudo mysqladmin version

Bạn sẽ nhận được đầu ra 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

Nếu bạn đã thiết lập cấu hình một người dùng quản trị riêng biệt với việc xác thực bằng mật khẩu, bạn có thể thực hiện thao tác tương tự bằng cách nhập:

  1. mysqladmin -u admin -p version

Điều này có nghĩa là MariaDB đang hoạt động và người dùng của bạn có thể xác thực thành công.

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 tập lệnh mysql_secure_installation được cài đặt kèm theo. Bạn cũng có tùy chọn tạo người dùng quản trị mới sử dụng xác thực mật khẩu trước khi thử nghiệm chức năng của máy chủ MariaDB.

0 câu trả lời