Cài đặt MariaDB 10.7 trên CentOS 8 - Install MariaDB 10.7 CentOS 8

Lựa chọn một hệ thống quản lý cơ sở dữ liệu (DBMS) phù hợp là một trong những yếu tố quyết định đến thành công kinh doanh. Trong hải đại hệ thống DBMS để lựa chọn, MariaDB là một tùy chọn nổi bật, được tạo ra từ sự phân nhánh thành công của hệ thống quản lý cơ sở dữ liệu MySQL. Với hàng trăm đến hàng nghìn người đóng góp mã nguồn mở, đa số từ các công ty sử dụng MariaDB mạnh mẽ để thúc đẩy hoạt động kinh doanh của họ. MariaDB duy trì tính tương thích cao với MySQL, với sự đồng nhất về thư viện nhị phân và sự khớp chính xác giữa API và các lệnh so với MySQL. Trong bài viết này, chúng ta sẽ tìm hiểu một số tính năng nổi bật và cách install, cấu hình MariaDB 10.7 trên CentOS 8.

Một số cải tiến nổi bật của phiên bản MariaDB 10.7

  • Tối ưu hóa khung lưu trữ InnoDB: Phiên bản mới này đem đến hàng loạt cải tiến quan trọng cho khung lưu trữ InnoDB, tăng cường hiệu suất và độ ổn định của cơ sở dữ liệu.
  • Kiểu dữ liệu UUID mới: Được thiết kế để lưu trữ dữ liệu UUID 128-bit một cách hiệu quả và đáng tin cậy, giúp quản lý khóa và quan hệ dữ liệu hiệu quả hơn.
  • Plugin nén mới: Phiên bản này cung cấp năm plugin nén mới (bzip2, lzma, lz4, lzo, snappy), nâng cao khả năng nén dữ liệu để giảm tải lưu trữ và tăng tốc truy vấn.
  • Hàm SFORMAT linh hoạt: SFORMAT cho phép định dạng chuỗi dữ liệu theo quy tắc tùy chỉnh, tạo điều kiện thuận lợi cho việc hiển thị dữ liệu một cách linh hoạt và chính xác.
  • Sắp xếp tự nhiên tiến xa hơn: Sự thêm vào hàm NATURAL_SORT_KEY cung cấp cách sắp xếp gần với tự nhiên, giúp cải thiện trải nghiệm người dùng trong việc tìm kiếm và sắp xếp dữ liệu.
  • Bảo mật mật khẩu: Plugin password_reuse_check ngăn người dùng sử dụng lại mật khẩu trong khoảng thời gian quy định, tăng cường an ninh cơ sở dữ liệu.
  • Sắp xếp hàng loạt InnoDB: Khả năng chèn hàng loạt được tối ưu hóa, giúp cải thiện hiệu suất xử lý dữ liệu lớn và tối ưu hóa việc xây dựng chỉ mục.
  • Thuộc tính chẩn đoán: Thuộc tính mới giúp xác định hàng bị ảnh hưởng một cách dễ dàng, giúp quản lý dữ liệu hiệu quả hơn.

Install MariaDB 10.7 trên CentOS 8

Thêm kho lưu trữ YUM của MariaDB

MariaDB duy trì các kho lưu trữ YUM và APT với các phiên bản mới nhất của gói máy chủ và máy khách MariaDB. Các gói này có sẵn trong kho lưu trữ AppStream dưới dạng các mô-đun trong máy chủ CentOS 8.

$ sudo dnf module list mariadb
Last metadata expiration check: 1 day, 16:20:23 ago on Mon 22 Nov 2021 05:45:07 AM UTC.
Rocky Linux 8 - AppStream
Name Stream Profiles Summary
mariadb 10.3 [d] client, galera, server [d] MariaDB Module
mariadb 10.5 client, galera, server [d] MariaDB Module

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Chạy các lệnh sau để tải xuống tập lệnh thiết lập kho lưu trữ YUM của MariaDB:

curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup

Chạy tập lệnh đã tải xuống và truyền các tùy chọn cần thiết để cấu hình kho lưu trữ.

sudo bash mariadb_repo_setup --mariadb-server-version=10.7

Tập lệnh này sẽ tự động cấu hình tệp repo và nhập các khóa chữ ký GPG cần thiết.

[info] Checking for script prerequisites.
[info] Repository file successfully written to /etc/yum.repos.d/mariadb.repo
[info] Adding trusted package signing keys...
/etc/pki/rpm-gpg /home/rocky
/home/rocky
[info] Successfully added trusted package signing keys
[info] Cleaning package cache...
27 files removed

Xác nhận xem liệu kho lưu trữ đã được cấu hình thành công bằng cách liệt kê tất cả các kho lưu trữ hiện có.

$ sudo dnf repolist
repo id repo name
appstream Rocky Linux 8 - AppStream
baseos Rocky Linux 8 - BaseOS
extras Rocky Linux 8 - Extras
mariadb-main MariaDB Server
mariadb-maxscale MariaDB MaxScale
mariadb-tools

Install MariaDB 10.7 trên CentOS 8

Sau khi đã thêm kho lưu trữ thành công, chúng ta tiến hành install MariaDB 10.7 trên CentOS 8.

sudo dnf -y module reset mariadb

sudo dnf install MariaDB-server MariaDB-client MariaDB-backup

Bạn cần xác nhận phiên bản của các gói máy chủ và máy khách MariaDB đang được cài đặt, trước khi tiến hành cài đặt chính thức.

Dependencies resolved.
======================================================================================================================================================================================================
Package Architecture Version Repository Size
======================================================================================================================================================================================================
Installing:
MariaDB-backup x86_64 10.7.1-1.el8 mariadb-main 7.0 M
MariaDB-client x86_64 10.7.1-1.el8 mariadb-main 15 M
MariaDB-server x86_64 10.7.1-1.el8 mariadb-main 25 M
Installing dependencies:
MariaDB-common x86_64 10.7.1-1.el8 mariadb-main 88 k
MariaDB-shared x86_64 10.7.1-1.el8 mariadb-main 115 k
boost-program-options x86_64 1.66.0-10.el8 appstream 140 k
galera-4 x86_64 26.4.9-1.el8 mariadb-main 13 M
libaio x86_64 0.3.112-1.el8 baseos 31 k
libpmem x86_64 1.6.1-1.el8 appstream 78 k
lsof x86_64 4.93.2-1.el8 baseos 252 k
perl-DBI x86_64 1.641-3.module+el8.4.0+509+59a8d9b3 appstream 739 k
perl-Math-BigInt noarch 1:1.9998.11-7.el8 baseos 194 k
perl-Math-Complex noarch 1.59-420.el8 baseos 107 k
socat x86_64 1.7.4.1-1.el8 appstream 322 k
Enabling module streams:
perl-DBI 1.641

Transaction Summary
======================================================================================================================================================================================================
Install 14 Packages

Total download size: 62 M
Installed size: 288 M
Is this ok [y/N]: y

Kiểm tra thông tin chi tiết về phiên bản cài đặt bằng lệnh rpm:

$ sudo dnf info MariaDB-server
Last metadata expiration check: 0:02:30 ago on Tue 23 Nov 2021 10:13:33 PM UTC.
Installed Packages
Name : MariaDB-server
Version : 10.7.1
Release : 1.el8
Architecture : x86_64
Size : 119 M
Source : MariaDB-server-10.7.1-1.el8.src.rpm
Repository : @System
From repo : mariadb-main
Summary : MariaDB: a very fast and robust SQL database server
URL : http://mariadb.org
License : GPLv2

Khởi động MariaDB 10.7 trên CentOS 8

Sau khi cài đặt, dịch vụ máy chủ MariaDB sẽ không tự động khởi động. Bạn sẽ cần khởi động nó thủ công.

$ sudo systemctl enable --now mariadb
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service

Xác minh trạng thái của dịch vụ bằng cách sử dụng lệnh sau:

$ systemctl status mariadb
● mariadb.service - MariaDB 10.7.1 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: active (running) since Tue 2021-11-23 22:17:40 UTC; 47s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Process: 16703 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 16676 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSI>
Process: 16674 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Main PID: 16687 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 16 (limit: 49496)
Memory: 68.0M
CGroup: /system.slice/mariadb.service
└─16687 /usr/sbin/mariadbd
...

Bạn cũng có thể kiểm tra phiên bản của máy khách và máy chủ MariaDB bằng lệnh sau:

$ mariadb -V
mariadb Ver 15.1 Distrib 10.7.1-MariaDB, for Linux (x86_64) using readline 5.1

Bảo mật cài đặt máy chủ MariaDB

Với cài đặt mặc định, máy chủ cơ sở dữ liệu MariaDB không được bảo mật. Người dùng root có thể truy cập vào shell mà không cần mật khẩu, và cũng có thể đăng nhập từ xa. Điều này tạo ra một lỗ hổng bảo mật nghiêm trọng, đặc biệt trong môi trường sản xuất.

Chúng ta giải quyết vấn đề này bằng cách thực hiện các bước sau:

$ sudo mariadb-secure-installation

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
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): <ENTER>
OK, successfully used password, moving on...

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] y
Enabled successfully!
Reloading privilege tables..
... Success!

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y
New password: <INPUT-PASSWORD>
Re-enter new password: <CONFIRM-PASSWORD>
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Nếu bạn truy cập là một người dùng root nhưng không có mật khẩu, nó sẽ thất bại và hiển thị như sau:

$ mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Hiển thị khi truy cập với mật khẩu đang hoạt động:

$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 10.7.1-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Tạo cơ sở dữ liệu/người dùng thử nghiệm trong MariaDB

Ví dụ tạo một cơ sở dữ liệu "testdb", chỉ cần chạy lệnh sau:

CREATE DATABASE testdb;

Bằng cách hiển thị danh sách tất cả các cơ sở dữ liệu có sẵn, bạn có thể kiểm tra cơ sở dữ liệu đã được tạo chưa:

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| testdb |
+--------------------+
5 rows in set (0.000 sec)

MariaDB thực sự là một sự thay thế tốt cho các hệ thống quản lý cơ sở dữ liệu thương mại. Mình hy vọng hướng dẫn này giúp bạn dễ dàng install MariaDB 10.7 trên CentOS 8.

Các gói dịch vụ Cloud VPS của KDATA mang đến cho bạn nhiều lựa chọn về hiệu suất cũng như khả năng lưu trữ, mọi nhu cầu về doanh nghiệp đều được đáp ứng. KDATA đảm bảo khả năng uptime lên đến 99,99%, toàn quyền quản trị và free backup hằng ngày. Tham khảo ngay các gói dịch vụ Cloud VPS:

https://kdata.vn/cloud-vps

👉 Liên hệ ngay KDATA hỗ trợ tận tình, support tối đa, giúp bạn trải nghiệm dịch vụ giá hời chất lượng tốt nhất