Cài đặt MariaDB 10.7 trên Ubuntu 20.04 - Install MariaDB 10.7 Ubuntu 20.04

MariaDB là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở. MariaDB tập trung vào tính đáng tin cậy, ổn định, bảo mật và hiệu suất. Một trong những lý do để chọn MariaDB là máy chủ cơ sở dữ liệu mặc định trong hầu hết các bản phân phối Linux, nhờ tính mạnh mẽ và khả năng mở rộng. Trong hướng dẫn này, chúng ta sẽ bao gồm các bước chi tiết để install MariaDB 10.7 trên Ubuntu 20.04 từ kho lưu trữ APT.

Những tính năng mới của MariaDB 10.7

  • InnoDB - Nhiều cải tiến trong khung lưu trữ InnoDB.
  • UUID Data Type - Kiểu dữ liệu UUID mới dành cho lưu trữ dữ liệu UUID 128-bit (Universally Unique Identifier).
  • Provider Plugins - Phiên bản này của MariaDB bao gồm năm plugin cung cấp (bzip2, lzma, lz4, lzo, snappy) cung cấp khả năng nén cho máy chủ và các khung lưu trữ.
  • Hàm SFORMAT - Hàm này nhận một chuỗi đầu vào và một định dạng và trả về chuỗi đã được định dạng sử dụng các quy tắc do người dùng truyền vào.
  • Natural Sort - Hàm NATURAL_SORT_KEY được thêm vào phiên bản 10.7.0 để sắp xếp gần với việc sắp xếp tự nhiên.
  • Password Reuse - Plugin password_reuse_check là một plugin xác minh mật khẩu mới ngăn mật khẩu mới trùng với mật khẩu đang được sử dụng trong khoảng thời gian lưu trữ có thể cấu hình.
  • InnoDB Bulk Insert - Trong việc chèn hàng loạt, tiền sắp xếp và xây dựng chỉ mục một trang mỗi lần.
  • Thuộc tính Diagnostics - Sử dụng để xác định hàng bị ảnh hưởng.

Bước 1 - Nâng cấp hệ thống

Trước khi thực hiện cài đặt, việc nâng cấp hệ thống giúp đảm bảo không có lỗi xảy ra. Chạy các lệnh sau để cập nhật tất cả các gói và hệ điều hành.

sudo apt update && sudo apt upgrade -y

Đợi cho tất cả các cập nhật hoàn tất sau đó khởi động lại hệ thống Ubuntu Desktop hoặc Server của bạn.

sudo systemctl reboot

Bước 2 - Cài đặt các gói phụ thuộc

Trước khi install MariaDB 10.7 trên Ubuntu 20.04, bạn cần cài đặt các gói cần thiết để thêm kho lưu trữ MariaDB và thực hiện các cài đặt khác. Sử dụng các lệnh sau trên cửa sổ dòng lệnh của bạn với quyền root hoặc người dùng có quyền sudo.

sudo apt update
sudo apt install curl apt-transport-https software-properties-common lsb-release ca-certificates gnupg2

Bước 3 - Thêm kho lưu trữ APT MariaDB vào hệ thống Ubuntu

Chạy các lệnh dưới đây để thêm khóa chữ ký MariaDB và thêm kho lưu trữ APT MariaDB:

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

Đầu ra thực thi lệnh:

[info] Checking for script prerequisites.
[info] Repository file successfully written to /etc/apt/sources.list.d/mariadb.list
[info] Adding trusted package signing keys...
[info] Running apt-get update...
[info] Done adding trusted package signing keys

Cập nhật danh sách gói trên các nguồn được cấu hình để xác nhận chúng hoạt động.

$ sudo apt update
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:2 https://downloads.mariadb.com/Tools/ubuntu focal InRelease
Hit:3 http://nova.clouds.archive.ubuntu.com/ubuntu focal InRelease
Get:4 http://nova.clouds.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:5 https://dlm.mariadb.com/repo/mariadb-server/10.7/repo/ubuntu focal InRelease [7707 B]
Get:7 http://nova.clouds.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Hit:6 https://downloads.mariadb.com/MaxScale/6.1.4/apt focal InRelease
Fetched 336 kB in 1s (385 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.

Bước 4 - Install MariaDB 10.7 trên Ubuntu 20.04

Sau khi thêm cấu hình của kho lưu trữ APT MariaDB trên Ubuntu, kiểm tra khả dụng của MariaDB 10.7 trên Ubuntu 20.04:

$ apt policy mariadb-server
mariadb-server:
  Installed: (none)
  Candidate: 1:10.7.1+maria~focal
  Version table:
     1:10.7.1+maria~focal 500
        500 https://dlm.mariadb.com/repo/mariadb-server/10.7/repo/ubuntu focal/main amd64 Packages
        500 https://dlm.mariadb.com/repo/mariadb-server/10.7/repo/ubuntu focal/main arm64 Packages
     1:10.3.31-0ubuntu0.20.04.1 500
        500 http://nova.clouds.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages
     1:10.3.22-1ubuntu1 500
        500 http://nova.clouds.archive.ubuntu.com/ubuntu focal/universe amd64 Packages

Chúng ta xác nhận các gói MariaDB 10.7 đã được liệt kê trong kho lưu trữ đã thêm. Sau đó tiếp tục cài đặt MariaDB 10.7 trên Ubuntu 20.04 bằng các lệnh:

sudo apt install mariadb-server mariadb-client

Chấp nhận tất cả lời nhắc cài đặt bằng cách nhấn phím y.

The following additional packages will be installed:
  galera-4 libcgi-fast-perl libcgi-pm-perl libconfig-inifiles-perl libdbd-mariadb-perl libdbi-perl libencode-locale-perl libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl
  libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmariadb3 libmysqlclient21 libpmem1 libterm-readkey-perl libtimedate-perl liburi-perl mariadb-client-10.7
  mariadb-client-core-10.7 mariadb-common mariadb-server-10.7 mariadb-server-core-10.7 mysql-common socat
Suggested packages:
  libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl libdata-dump-perl libipc-sharedcache-perl libwww-perl mailx mariadb-test
The following NEW packages will be installed:
  galera-4 libcgi-fast-perl libcgi-pm-perl libconfig-inifiles-perl libdbd-mariadb-perl libdbi-perl libencode-locale-perl libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl
  libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmariadb3 libmysqlclient21 libpmem1 libterm-readkey-perl libtimedate-perl liburi-perl mariadb-client
  mariadb-client-10.7 mariadb-client-core-10.7 mariadb-common mariadb-server mariadb-server-10.7 mariadb-server-core-10.7 mysql-common socat
0 upgraded, 30 newly installed, 0 to remove and 0 not upgraded.
Need to get 29.4 MB of archives.
After this operation, 230 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Bước 5 - Bảo mật cài đặt MariaDB 10.7 trên Ubuntu

Dịch vụ mariadb được khởi động tự động, có thể xác nhận bằng lệnh sau:

$ systemctl status mariadb
● mariadb.service - MariaDB 10.7.1 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/mariadb.service.d
             └─migrated-from-my.cnf-settings.conf
     Active: active (running) since Mon 2021-11-22 21:41:36 UTC; 54s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 50856 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 15 (limit: 2344)
     Memory: 74.4M
     CGroup: /system.slice/mariadb.service
             └─50856 /usr/sbin/mariadbd

Nov 22 21:41:37 frank-ubuntu-01 /etc/mysql/debian-start[50877]: sys
Nov 22 21:41:37 frank-ubuntu-01 /etc/mysql/debian-start[50877]: Phase 6/7: Checking and upgrading tables
Nov 22 21:41:37 frank-ubuntu-01 /etc/mysql/debian-start[50877]: Processing databases
Nov 22 21:41:37 frank-ubuntu-01 /etc/mysql/debian-start[50877]: information_schema
Nov 22 21:41:37 frank-ubuntu-01 /etc/mysql/debian-start[50877]: performance_schema
Nov 22 21:41:37 frank-ubuntu-01 /etc/mysql/debian-start[50877]: sys
Nov 22 21:41:37 frank-ubuntu-01 /etc/mysql/debian-start[50877]: sys.sys_config                                     OK
Nov 22 21:41:37 frank-ubuntu-01 /etc/mysql/debian-start[50877]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Nov 22 21:41:37 frank-ubuntu-01 /etc/mysql/debian-start[50877]: OK
Nov 22 21:41:37 frank-ubuntu-01 /etc/mysql/debian-start[51390]: Checking for insecure root accounts.

Chạy lệnh sau để cho phép MariaDB tự động khởi động khi máy chủ được khởi động lại.

sudo systemctl enable mariadb

Khi MariaDB đã được cài đặt, chạy kịch bản bảo mật để bảo vệ máy chủ cơ sở dữ liệu của bạn - đặt mật khẩu root, tắt đăng nhập từ xa của người dùng root và xóa cơ sở dữ liệu thử nghiệm.

$ 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!

Sau quá trình bảo mật, bạn chỉ cần truy cập MariaDB shell với tư cách người dùng root bằng cách cung cấp mật khẩu:

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

$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 56
Server version: 10.7.1-MariaDB-1:10.7.1+maria~focal mariadb.org binary distribution

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

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

Kiểm tra phiên bản MariaDB và thoát khỏi shell.

MariaDB [(none)]> SELECT VERSION();
+-------------------------------------+
| VERSION()                           |
+-------------------------------------+
| 10.7.1-MariaDB-1:10.7.1+maria~focal |
+-------------------------------------+
1 row in set (0.000 sec)

MariaDB [(none)]> EXIT
Bye

Bước 6 - Tạo cơ sở dữ liệu và người dùng thử nghiệm

Chúng ta sẽ tạo cơ sở dữ liệu thử nghiệm là mydb;

MariaDB [(none)]> CREATE DATABASE mydb;
Query OK, 1 row affected (0.000 sec)

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

Tạo một người dùng và cấp quyền cho cơ sở dữ liệu mydb;

# Create user called mydbuser
MariaDB [(none)]> CREATE USER 'mydbuser'@'localhost' IDENTIFIED BY 'StrongDBPassw0rd';

#Grant privileges database created
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mydb.* TO 'mydbuser'@'localhost';
MariaDB [(none)]> FLUSH privileges;

#Check grants for a user
MariaDB [(none)]> SHOW GRANTS FOR 'mydbuser'@'localhost';
+-----------------------------------------------------------------------------------------------------------------+
| Grants for mydbuser@localhost                                                                                   |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `mydbuser`@`localhost` IDENTIFIED BY PASSWORD '*14F91886CA4A917D5B2DA4B12F5045F40ABA3171' |
| GRANT ALL PRIVILEGES ON `mydb`.* TO `mydbuser`@`localhost`                                                      |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)

MariaDB [(none)]> EXIT
Bye

Kiểm tra kết nối đến cơ sở dữ liệu với tên người dùng mydbuser:

$ mysql -u mydbuser -p'StrongDBPassw0rd'
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 58
Server version: 10.7.1-MariaDB-1:10.7.1+maria~focal mariadb.org binary distribution

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)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
+--------------------+
2 rows in set (0.000 sec)

MariaDB [(none)]> QUIT
Bye

Bạn có thể tạo bảng và nhập dữ liệu thử nghiệm vào cơ sở dữ liệu đã tạo. Khi hoàn thành, thực hiện dọn dẹp.

$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 59
Server version: 10.7.1-MariaDB-1:10.7.1+maria~focal mariadb.org binary distribution

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)]> DROP DATABASE mydb;
Query OK, 0 rows affected (0.002 sec)

MariaDB [(none)]> DROP USER `mydbuser`@`localhost`;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> QUIT
Bye

Gỡ bỏ cài đặt MariaDB 10.7 trên Ubuntu 20.04

Nếu bạn muốn gỡ bỏ hoàn toàn máy chủ MariaDB và xóa dữ liệu, bạn có thể sử dụng các lệnh sau:

sudo apt purge mariadb-server
sudo rm -rf /var/lib/mysql/

Chúng ta đã có thể install MariaDB 10.7 trên Ubuntu 20.04. Đây là một quá trình cài đặt ngắn gọn, dễ dàng và hy vọng chúng đã hữu ích với bạn.

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

Bài viết liên quan