Chắc hẳn có nhiều bạn đã làm việc với hệ quản trị cơ sở dữ liệu MariaDB. Đây là hệ quản trị có lượng người sử dụng đang ngày một lớn mạnh và chiếm được những “cảm tình” đáng kể của các lập trình viên thích làm việc với cơ sở dữ liệu quan hệ.
Tôi đã có một vài bài viết có liên quan tới MariaDB, tuy nhiên ở bài viết này tôi muốn hướng dẫn các bạn cách thức cài đặt và cấu hình MariaDB trên máy chủ sử dụng hệ điêu hành Ubuntu.

Giới thiệu về MariaDB

  • Là hệ quản trị cơ sở dữ liệu quan hệ.
  • Một sản phẩm mã nguồn mở phát triển từ hệ quản trị cơ sở dữ liệu MySQL.
  • Nhà phát triển chính của MariaDB là Michael ”Montly” Widenius – một trong  những người sáng lập của MySQL AB.
  • MariaDB – tên được đặt theo tên con gái của Montly, tương tự MySQL.
  • MariaDB có thể được cài đặt trên các hệ điều hành khác nhau: Windows, Linnux CenOS, Ubuntu…
  • Hoàn toàn tương thích với MySQL
  • Phát triển sau nên tối ưu hơn về hiệu năng (3-5%), có nhiều cải tiến.
  • Thông tin thêm: https://db-engines.com/en/system/MariaDB

Các lý do để bạn có thể lựa chọn sử dụng MariaDB?

  • MariaDB dễ sử dụng.
  • Linh hoạt và có khả năng mở rộng.
  • Cho phép kết nối SQL và NoSQL (Dynamic Column và  Cassandra Store Engine).
  • Caching/Indexing có tốc độ tốt: sử dụng 1 công cụ lưu trữ duy nhất gọi là Memory (các lệnh INSERT nhanh hơn ~25% so với MySQL).
  • Tuân thủ các quy định dịch vụ tài chính nghiêm ngặt (mã hóa dữ liệu…)
  • Đã được các Website lớn sử dụng:
    • Wikipedia chuyển từ MySQL -> MariaDB.
    • Google chấp nhận Maria là lựa chọn chính làm hệ thống CSDL
    • Nhiều ngân hàng đẳng cấp thế giới đã lựa chọn: DBS- Singapore là ngân hàng lớn nhất Đông Nam Á  đã xử lý gần 3 triệu giao dịch/ tháng, có tổng tài sản 333 tỷ đô. Là ngân hàng được coi là an toàn nhất Châu Á trong 9 năm liên tiếp – https://mariadb.com/resources/customer-stories/dbs/)
  • Tài liệu có hỗ trợ tiếng việt: https://mariadb.com/kb/vi/

Các bước chính để cài đặt và cấu hình MariaDB

  • Sử dụng apt để cập nhật các package.
  • Sử dụng apt để cài đặt mariadb-server.
  • Sử dụng lệnh mysql_secure_installation để có thể thiết lập quyền truy cập tới máy chủ MariaDB.

Túm lại sẽ sử dụng các lệnh cơ bản sau:

sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation

Điều kiện tiên quyết trước khi thực hiện cài đặt và cấu hình MariaDB

Để có thể thực hành với bài hướng dẫn này các bạn cần sử dụng hệ điều hành Ubuntu 18.04, có thể thực thi các lệnh với sudo.

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

Trên Ubuntu 18.04 thì mặc định các gói APT đã có sẵn MariaDB, chúng ta chỉ việc cài đặt bằng lệnh sau:

sudo apt update
sudo apt install mariadb-server

Bước 2: Cấu hình MariaDB

Khi cài đặt mới, chúng ta cần phải chạy lệnh bảo mật này để loại bỏ một vài các tùy chọn kém an toàn. Ta sẽ sử dụng việc này để chặn việc truy cập từ xa với user root và xóa các user trong cơ sở dữ liệu mặc định mà không sử dụng.

sudo mysql_secure_installation

Bước 3 (tùy chọn): Thiết lập xác thực và phân quyền

  • Truy cập vào MariaDB
sudo mysql
  • Tạo user admin có quyền truy cập root (lưu ý thay đổi mật khẩu – “password” tùy theo mật khẩu mong muốn của bạn)
GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
  • Thiết lập các quyền để đảm bảo các thiết lập trên được lưu và có hiệu lực.
FLUSH PRIVILEGES;
  • Thoát MariaDB
exit;

Bước 4 (tùy chọn): Cho phép truy cập từ xa (remote access) tới MariaDB server

Để có thể truy cập từ xa (kết nối tới máy chủ MariaDB) từ một máy tính khác thông qua các user được tạo ở bước 3, ta cần làm các bước như sau:

  • Đăng nhập vào MariaDB, tạo các user muốn cho phép remote:
FLUSH PRIVILEGES;

CREATE USER 'nvmanh'@'localhost' IDENTIFIED BY '12345678@Abc';
GRANT ALL PRIVILEGES ON *.* TO 'nvmanh'@'localhost' WITH GRANT OPTION;

CREATE USER 'nvmanh'@'%' IDENTIFIED BY '12345678@Abc';
GRANT ALL PRIVILEGES ON *.* TO 'nvmanh'@'%' WITH GRANT OPTION;

CREATE USER 'nvmanh'@'1.53.236.91' IDENTIFIED BY '12345678@Abc';
GRANT ALL PRIVILEGES ON *.* TO 'nvmanh'@'1.53.236.91' WITH GRANT OPTION;
  • Các giá trị sau ký tự “@” trên đoạn mã có ý nghĩa như sau:
    • localhost: cho phép truy cập tại local.
    • %: truy cập được ở mọi nơi
    • 1.53.236.91: truy cập được từ máy tính có địa chỉ IP là 1.53.236.91

Ta có thể kiểm tra, xem danh sách các người dùng được cấp quyền bằng cách truy cập MariaDB và chạy lệnh sau trên máy chủ Ubuntu:

SELECT user, host FROM mysql.user;
  • Bước tiếp theo ta cần thiết lập tường lửa cho phép truy cập qua port 3306. Chạy các đoạn mã sau:
sudo ufw enable
sudo ufw allow 3306/tcp
sudo ufw allow 3306
sudo ufw status
  • Để có thể remote access, ta phải chỉnh sửa file config của Mariadb, chạy đoạn mã sau:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

hoặc

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Sau đó ta thay đổi:
bind-address = 127.0.0.1 thành bind-address = 0.0.0.0

Cuối cùng, restart lại MariaDB

systemctl restart mariadb

Bước 5: Kiểm tra kết quả

sudo systemctl status mariadb
Cài đặt MariaDB trên Ubuntnu
Kết quả

Tổng kết

Trên đây là các bước cài đặt và cấu hình MariaDB trên máy chủ Ubuntu 18.04.
Các bạn có thể theo dõi thêm một vài bài viết khác về MariaDB như:

Cám ơn các bạn đã đọc bài!