Cài đặt MariaDB 10.5 trên CentOS 7 - Install MariaDB 10.5 CentOS 7

Phiên bản ổn định của MariaDB 10.5 được phát hành vào tháng 6 năm 2020 và sẽ được hỗ trợ cho đến tháng 6 năm 2025. Trong bài viết này, mình sẽ hướng dẫn install MariaDB 10.5 trên CentOS 7 chi tiết nhất.

Cài đặt MariaDB 10.5 trên CentOS 7

Nhóm MariaDB cung cấp các kho lưu trữ được duy trì với các gói mới nhất cho các phiên bản Linux khác nhau. Đối với CentOS sẽ sử dụng kho lưu trữ YUM.

Bước 1: Thêm kho lưu trữ YUM của MariaDB

Chạy các lệnh sau để thêm kho lưu trữ được cung cấp bởi MariaDB vào máy chủ CentOS của bạn.

curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
sudo bash mariadb_repo_setup --mariadb-server-version=10.5

Xác nhận kho lưu trữ đang hoạt động bằng cách cập nhật bộ nhớ cache.

sudo yum makecache -y

Liệt kê các kho lưu trữ có sẵn:

$ sudo yum repolist
repo id                                                                        repo name
appstream                                                                      CentOS Stream 8 - AppStream
baseos                                                                         CentOS Stream 8 - BaseOS
epel                                                                           Extra Packages for Enterprise Linux 8 - x86_64
extras                                                                         CentOS Stream 8 - Extras
extras-common                                                                  CentOS Stream 8 - Extras common packages
mariadb-main                                                                   MariaDB Server
mariadb-maxscale                                                               MariaDB MaxScale
mariadb-tools                                                                  MariaDB Tools
remi                                                                           Remi's RPM repository for Enterprise Linux 8 - x86_64
remi-modular                                                                   Remi's Modular repository for Enterprise Linux 8 - x86_64
remi-safe   

Bước 2: Cài đặt MariaDB 10.5 trên CentOS 7

Sau khi đã thêm kho lưu trữ và xác nhận nó đang hoạt động, bạn tiến hành cài đặt MariaDB 10.5 trên máy chủ CentOS 7.

sudo yum install MariaDB-server MariaDB-client MariaDB-backup

Kiểm tra danh sách các gói sẽ được cài đặt và chọn y nếu đồng ý.

.....
Transaction Summary
================================================================================================================================================================
Install  54 Packages

Total download size: 67 M
Installed size: 298 M
Is this ok [y/N]: y

Đồng thời đồng ý nhập khóa GPG khi được nhắc.

.....
Importing GPG key 0x1BB943DB:
 Userid     : "MariaDB Package Signing Key <package-signing-key@mariadb.org>"
 Fingerprint: 1993 69E5 404B D5FC 7D2F E43B CBCB 082A 1BB9 43DB
 From       : https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
Is this ok [y/N]: y

Chi tiết gói RPM:

$ rpm -qi  MariaDB-server
Name        : MariaDB-server
Version     : 10.5.19
Release     : 1.el8
Architecture: x86_64
Install Date: Wed 03 May 2023 09:30:59 AM UTC
Group       : Applications/Databases
Size        : 132031416
License     : GPLv2
Signature   : RSA/SHA512, Thu 02 Feb 2023 11:10:09 PM UTC, Key ID f1656f24c74cd1d8
Source RPM  : MariaDB-server-10.5.19-1.el8.src.rpm
Build Date  : Mon 30 Jan 2023 10:19:47 PM UTC
Build Host  : rhel8-amd64
Relocations : (not relocatable)
Vendor      : MariaDB Foundation
URL         : http://mariadb.org
Summary     : MariaDB database server binaries
...

Bước 3: Khởi động dịch vụ MariaDB trên CentOS 7

CentOS 7 sử dụng hệ thống khởi động Systemd. Bạn khởi động dịch vụ bằng lệnh systemctl như dưới đây.

sudo systemctl start mariadb

Để cho phép dịch vụ được khởi động khi máy chủ khởi động lại, sử dụng lệnh sau:

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

Kiểm tra trạng thái dịch vụ với lệnh systemctl status:

$ systemctl status mariadb
● mariadb.service - MariaDB 10.5.4 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 Sun 2020-06-28 19:34:56 CEST; 1min 35s ago
     Docs: man:mariadbd(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 4328 (mariadbd)
   Status: "Taking your SQL requests now..."
    Tasks: 9 (limit: 24392)
   Memory: 67.7M
   CGroup: /system.slice/mariadb.service
           └─4328 /usr/sbin/mariadbd

Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] InnoDB: 10.5.4 started; log sequence number 45041; transaction id 21
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] Plugin 'FEEDBACK' is disabled.
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] InnoDB: Buffer pool(s) load completed at 200628 19:34:56
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] Server socket created on IP: '::'.
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] Reading of all Master_info entries succeeded
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] Added new Master_info '' to hash table
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: 2020-06-28 19:34:56 0 [Note] /usr/sbin/mariadbd: ready for connections.
Jun 28 19:34:56 centos.computingforgeeks.com mariadbd[4328]: Version: '10.5.4-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server
Jun 28 19:34:56 centos.computingforgeeks.com systemd[1]: Started MariaDB 10.5.4 database server.
...

Nếu bạn cần cho phép các hệ thống khác trong mạng truy cập máy chủ cơ sở dữ liệu, hãy cho phép cổng 3306:

sudo firewall-cmd --add-service=mysql --permanent
sudo firewall-cmd --reload

Để kết nối từ xa hoạt động, dịch vụ phải lắng nghe trên một địa chỉ IP chứ không phải giao diện loopback localhost.

# Listen on specific IP address in the server
bind-address=172.21.200.12
# Listen on all available interfaces
bind-address=0.0.0.0

Bước 4: Bảo mật cơ sở dữ liệu MariaDB trên CentOS 7

Có một tập lệnh được cung cấp để làm chặt cơ sở dữ liệu máy chủ MariaDB. Tập lệnh này giúp bạn:

  • Thiết lập mật khẩu root
  • Loại bỏ người dùng cơ sở dữ liệu ẩn danh
  • Không cho phép đăng nhập cơ sở dữ liệu từ xa dưới tài khoản root
  • Xóa cơ sở dữ liệu thử nghiệm

Để bắt đầu quá trình làm chặt cơ sở dữ liệu, chạy lệnh dưới đây.

$ 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): 
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: 
Re-enter new 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!

Kiểm tra đăng nhập dưới tài khoản root mà không có mật khẩu:

$ mysql -u root <ENTER>

Bạn sẽ nhận được thông báo lỗi truy cập bị từ chối:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Tiếp theo, thử đăng nhập dưới tài khoản root và cung cấp mật khẩu:

$ mysql -u root -p
Enter password: <ENTER-PASSWORD>
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 24
Server version: 10.5.4-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)]> SELECT VERSION();
+----------------+
| VERSION()      |
+----------------+
| 10.5.4-MariaDB |
+----------------+
1 row in set (0.001 sec)

MariaDB [(none)]> QUIT
Bye

Như vậy là bạn đã install thành công MariaDB 10.5 trên CentOS 7. Bây giờ máy chủ cơ sở dữ liệu của bạn đã sẵn sàng để sử dụng. Cài đặt bổ sung duy nhất mà bạn có thể cần là điều chỉnh nó để đạt hiệu suất tối ưu phù hợp với yêu cầu ứng dụng và trường hợp sử dụng của bạn. 

Mọi người cũng tìm kiếm: install mariadb 10.5 centos 7, mariadb 10.5, install mariadb 10.11 centos 7, centos 7 install mariadb, centos 7 install mariadb 10, maria db 10.5