Cài đặt MariaDB 10.6 Ubuntu 20.04 - Install MariaDB 10.6 on Ubuntu 20.04

MariaDB là một trong những cơ sở dữ liệu quan hệ mã nguồn mở phổ biến nhất. Nó được sáng tạo ra bởi các nhà phát triển của MySQL nhưng hoàn toàn miễn phí. Sự phát triển của MariaDB tập trung vào tính ổn định và hiệu suất. Những lý do khác khiến MariaDB được ưa chuộng là tính mạnh mẽ và có thể mở rộng, các engine lưu trữ mới đi kèm với nhiều công cụ và plugin khác nhau giúp nó được áp dụng rộng rãi. Nó là cơ sở dữ liệu mặc định trong hầu hết các bản phân phối Linux. Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách install MariaDB 10.6 trên Ubuntu 20.04 từ kho lưu trữ APT của MariaDB.

Các tính năng của MariaDB 10.6

MariaDB 10.6 là phiên bản ổn định hiện tại của MariaDB và đi kèm với một số tính năng mới:

  • Chỉ mục bị bỏ qua (Ignored Indexes) - Đây là các chỉ mục có thể nhìn thấy và được duy trì nhưng không được sử dụng bởi bộ tối ưu hóa.
  • Hỗ trợ cơ sở dữ liệu sys schema - Đây là cơ sở dữ liệu "hệ thống" chứa các chế độ xem và thủ tục để tra các vấn đề hiệu suất.
  • SKIP LOCKED - Các bảng bị khóa sẽ được bỏ qua khỏi việc cập nhật hoặc lựa chọn.
  • JSON_TABLE() - Có thể tạo một bảng JSON, sử dụng như một truy vấn con từ tài liệu JSON.
  • OFFSET...FETCH...[WITH TIES] - WITH TIES là một mệnh đề tùy chọn cung cấp chức năng bổ sung.
  • Tương thích với Oracle - MariaDB đang thực hiện tương thích với OracleDB, một số cú pháp và chức năng của Oracle đã được thêm vào.

Một số cải tiến trên MariaDB 10.6 so với các phiên bản trước bao gồm:

  • Atomic DDL - CREATE, ALTER, DROP và RENAME là nguyên tử và an toàn khi gặp sự cố. Nếu máy chủ MariaDB gặp sự cố trong khi xử lý bất kỳ thao tác nào trong số này, thay đổi sẽ được thực hiện hoàn toàn hoặc hoàn toàn không được thực hiện.
  • Cải tiến InnoDB - Thêm nhanh hơn khi chèn dữ liệu vào bảng trống. Cũng tránh việc ghi vào bảng tạm thời. Các bảng tạm thời ẩn và rõ ràng, nhanh hơn.
  • Cải tiến Galera - Khả năng kích hoạt kết nối được mã hóa giữa hai nút mà không có thời gian chết. Cũng đã thêm cờ để chỉ định liệu các tính năng gây tranh cãi của Galera có nên được kích hoạt hay không.
  • Dọn dẹp để loại bỏ các tính năng không được hỗ trợ như TukoDB Engine, Cassandra Engine, một số biến InnoDB và innodb_checksum_algorithm.

Các bước install MariaDB 10.6 Ubuntu 20.04

Bước 1: Cập nhật hệ thống trước khi install MariaDB 10.6

Như thường lệ, bắt đầu bằng việc chạy cập nhật hệ thống để đảm bảo rằng bạn đang thực hiện cài đặt trên các gói phần mềm mới nhất. Sau khi cập nhật, hãy khởi động lại máy chủ của bạn.

sudo apt update
sudo apt upgrade -y
sudo reboot

Bước 2: Cài đặt các gói cần thiết

Tiếp theo, chúng ta sẽ cài đặt gói phần mềm software-properties-common.

sudo apt install software-properties-common -y

Bước 3: Thêm kho lưu trữ APT MariaDB

Bằng các lệnh dưới đây, bạn sẽ thêm chữ ký MariaDB và thêm kho lưu trữ APT của MariaDB:

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

Bạn sẽ nhận được đầu ra có nội dung tương tự như dưới đây:

[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

Bước 4: Install MariaDB 10.6 Server và Client

Sau khi đã thêm chữ ký MariaDB và kho lưu trữ APT, cập nhật các gói phần mềm và tiến hành install MariaDB 10.6 trên Ubuntu 20.04 như sau:

sudo apt update
sudo apt install mariadb-server mariadb-client

Bước 5: Cài đặt bảo mật MariaDB

Sau khi đã cài đặt MariaDB, chạy kịch bản MySQL dưới đây để bảo mật MariaDB:

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

Bước 6: Xác nhận trạng thái MariaDB

MariaDB server sẽ được khởi động tự động. Kiểm tra trạng thái như sau:

$ systemctl status mariadb
● mariadb.service - MariaDB 10.6.4 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 Tue 2021-10-19 11:37:25 UTC; 9s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 3023 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 14 (limit: 4703)
CGroup: /system.slice/mariadb.service
└─3023 /usr/sbin/mariadbd

Oct 19 11:37:29 ubuntu /etc/mysql/debian-start[3046]: performance_schema
Oct 19 11:37:29 ubuntu /etc/mysql/debian-start[3046]: sys
Oct 19 11:37:29 ubuntu /etc/mysql/debian-start[3046]: Phase 6/7: Checking and upgrading tables
Oct 19 11:37:29 ubuntu /etc/mysql/debian-start[3046]: Processing databases
Oct 19 11:37:29 ubuntu /etc/mysql/debian-start[3046]: information_schema
Oct 19 11:37:29 ubuntu /etc/mysql/debian-start[3046]: performance_schema
Oct 19 11:37:29 ubuntu /etc/mysql/debian-start[3046]: sys
Oct 19 11:37:29 ubuntu /etc/mysql/debian-start[3046]: sys.sys_config OK
Oct 19 11:37:29 ubuntu /etc/mysql/debian-start[3046]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Oct 19 11:37:29 ubuntu /etc/mysql/debian-start[3046]: OK
root@ubuntu:~#

Bước 7: Kích hoạt MariaDB để tự động khởi động khi máy chủ khởi động lại

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

sudo systemctl enable mariadb

Bước 8: Kiểm tra phiên bản MariaDB

Để xác nhận phiên bản đã cài đặt, chúng ta cần đăng nhập vào MySQL như sau:

$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 32
Server version: 10.6.3-MariaDB-1:10.6.3+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)]>

Bây giờ chạy lệnh sau để kiểm tra phiên bản MariaDB:

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

MariaDB [(none)]> QUIT
Bye

Bước 9: Sử dụng MariaDB cơ bản

Tiếp theo, bạn sẽ xem một số cách sử dụng cơ bản về cơ sở dữ liệu MariaDB như tạo cơ sở dữ liệu, thêm người dùng và các thao tác khác.

Tạo cơ sở dữ liệu MariaDB

Như đã thấy ở trên, MariaDB sử dụng cú pháp của MySQL. Để tạo cơ sở dữ liệu, bạn cần đăng nhập vào MariaDB như đã thể hiện ở trên và sau đó chạy lệnh dưới đây để tạo cơ sở dữ liệu.

#Create a new database
MariaDB [(none)]> CREATE DATABASE db1;
Query OK, 1 row affected (0.000 sec)

#If the database with the same exists
CREATE DATABASE db1;
ERROR 1007 (HY000): Can't create database 'db1'; database exists

#Create a database if already exits
MariaDB [(none)]> CREATE OR REPLACE DATABASE db1;
Query OK, 2 rows affected (0.009 sec)

#First check if a database exists
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS db1;
Query OK, 1 row affected, 1 warning (0.000 sec)

# Check Databases MariaDB
MariaDB [(none)]> SHOW DATABASES;

Thêm người dùng và cấp đặc quyền MariaDB

Để tạo một người dùng và cấp quyền bạn chạy lệnh sau:

#Create user mariadb
MariaDB [(none)]> CREATE USER 'db1user'@'localhost' IDENTIFIED BY 'mypassword';

#Grant privileges to a specific database
MariaDB [(none)]> GRANT ALL PRIVILEGES ON db1.* TO 'db1user'@'localhost';

#Remember to refresh the privileges
MariaDB [(none)]> FLUSH privileges;

#To check user grants in MariaDB
MariaDB [(none)]> SHOW GRANTS FOR 'db1user'@'localhost';

Tạo bảng và thêm dữ liệu MariaDB

Khi đã tạo một cơ sở dữ liệu, bạn có thể tạo bảng và thêm dữ liệu vào bảng đó.

MariaDB [(none)]> USE db1;
MariaDB [(none)]> CREATE TABLE employees (id INT, name VARCHAR(20), email VARCHAR(20));
MariaDB [(none)]> INSERT INTO employees (id,name,email) VALUES(01,"User1","user1@example.com");

Dọn dẹp MariaDB

Nếu bạn muốn làm sạch hoàn toàn cài đặt MariaDB, bạn có thể gỡ bỏ và cài đặt lại như sau:

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

Đây là một hướng dẫn về cách install MariaDB 10.6 trên Ubuntu 20.04. Quá trình cài đặt ngắn gọn và dễ dàng, hy vọng rằng hướng dẫn này đã hữu ích cho bạn.

Mọi người cũng tìm kiếm: mariadb 10.6, install mariadb ubuntu 20.04, with ties trong sql, mariadb ubuntu 20.04, mariadb 10.6 ubuntu 20.04, install mariadb