Hướng dẫn cài đặt MariaDB 10 trên CentOS 7 & CentOS 8

Hướng dẫn cách cài đặt MariaDB 10 - hệ thống quản lý cơ sở dữ liệu mã nguồn mở, một sự thay thế tương thích cho cơ sở dữ liệu MySQL; trên CentOS 7 & CentOS 8

1. Thêm MariaDB Yum Repository

Bắt đầu thêm file MariaDB YUM Repository MariaDB.repo vào các hệ thống CentOS, thì mình khuyến cáo các bạn nên khởi tạo từ file nguồn chính thức của MariaDB từ link sau:

https://downloads.mariadb.org/mariadb/repositories

Bạn gõ lệnh sau:

# vi /etc/yum.repos.d/MariaDB.repo

Và paste nội dung trong mục Here is your custom MariaDB YUM repository entry for CentOS. Copy and paste it into a file under /etc/yum.repos.d/ (we suggest naming the file MariaDB.repo or something similar). đã lấy ở link trên

# MariaDB 10.4 CentOS repository list - created 2019-10-29 02:36 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos8-ppc64le
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Lưu lại và thoát trình soạn thảo VI.

2. Cài đặt MariaDB 10 trên CentOS 7 & 8

Khi MariaDB Repository đã được thêm vào, bạn có thể dễ dàng cài đặt nó chỉ với một câu lệnh:

# yum install MariaDB-server MariaDB-client -y

3. Quản lý MariaDB trên CentOS 7 & 8

Ngay sau khi hoàn tất cài đặt, bạn có thể sử dụng các lệnh sau để quản lý MariaDB

Để bắt đầu dịch vụ MariaDB, sử dụng lệnh:

systemctl start mariadb

Để dừng dịch vụ có thể sử dụng lệnh:

systemctl stop mariadb

Khởi động lại dịch vụ, sử dụng lệnh:

systemctl restart mariadb

Kiểm tra tình trạng dịch vụ, sử dụng lệnh:

systemctl status mariadb

Để kích hoạt dịch vụ MariaDB tự chạy khi khởi động hệ thống, hãy chạy lệnh sau:

systemctl enable mariadb

Trong trường hợp bạn muốn MariaDB vô hiệu hóa khi khởi động lại hệ thống thì hãy chạy lệnh sau:

systemctl disable mariadb

4. Bảo mật MariaDB trên CentOS 7 & 8

Đã đến lúc bảo mật MariaDB của bạn bằng cách đặt mật khẩu root, vô hiệu hóa đăng nhập root từ xa, xóa database test cũng như anonymous user và cuối cùng là reload các table liên quan đến quyền hạn.

# mysql_secure_installation

Sau khi bảo mật máy chủ cơ sở dữ liệu (database server), bạn có muốn kiểm tra các tính năng của MariaDB như phiên bản cài đặt, danh sách chương trình mặc định,..

# mysql -V

# mysqld --print-defaults

# mysql -u root -p

5. Cấu hình file mẫu của dịch vụ MariaDB

Các file cấu hình và file thực thi binary của MariaDB gần như hoàn toàn giống với MySQL. Khi cài đặt MariaDB xong cũng sẽ có 1 số mẫu template cấu hình ‘my.cnf’ dành cho dịch vụ MariaDB nằm trong thư mục “/usr/share/mysql/”. Bạn có thể chọn 1 file mẫu cấu hình dựa trên độ lớn của dịch vụ CSDL bạn mong muốn. Nên lưu ý là các cấu hình trong file này đã được MariaDB kiểm tra và test nhiều lần.

Một số file mẫu cấu hình MariaDB với tên gọi như sau:

  • my-small.cnf: cấu hình lý tưởng cho các server/vps có RAM giới hạn thấp tầm 64MB trở xuống dành cho database.
  • my-medium.cnf: cấu hình lý tưởng cho các server/vps có RAM giới hạn thấp tầm 128MB trở xuống dành cho database.
  • my-large.cnf: cấu hình lý tưởng cho các server/vps có RAM giới hạn thấp tầm 512MB trở xuống dành cho database.
  • my-huge.cnf: cấu hình lý tưởng cho các server/vps có RAM giới hạn thấp tầm 1G trở xuống dành cho database.

Để sử dụng file mẫu bạn có thể làm như sau:

# mv /etc/my.cnf /etc/my.$(date -I)

# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

6. Kiểm tra dịch vụ MariaDB 10 trên CentOS 7 & 8

Kiểm tra phiên bản MariaDB trên CentOS 7.

# mv /etc/my.cnf /etc/my.$(date -I)

# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

Kiểm tra xem có tiến trình nào của MariaDB có đang chạy hay không?

# ps aux | grep -v "grep" | grep "mysqld"

mysql 24679 0.1 2.1 1893296 85380 ? Ssl 10:45 0:00 /usr/sbin/mysqld

Mặc định dịch vụ database MariaDB sẽ lắng nghe kết nối trên TCP Socket port 3306. Ngoại trừ trường hợp dùng ‘unix socket’, bỏ listen port 3306. Bạn có thể dùng lệnh ‘netstat’ hoặc lệnh ss trên Linux để kiểm tra ứng dụng nào đang listen trên port nào của hệ thống.

# ss -lntp | grep "3306"

LISTEN 0 80 :::3306 :::* users:(("mysqld",pid=24679,fd=20))

Thử đăng nhập user root với mật khẩu bạn đã set khi chạy ‘mysql_secure_installation

# mysql -u root -p''

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 16

Server version: 10.2.9-MariaDB MariaDB Server

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

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

MariaDB [(none)]>

7. Tạo Database và user quản trị Database

Bạn nên tạo mỗi user quản trị Database ứng với một website, tránh dùng user root, vì nếu ai có user này sẽ có toàn quyền với CSDL của bạn.

mysql -u root -p123456789

Trong đó, user là root, mật khẩu là 123456789

8. Tạo CSDL

create database database1;

Trong đó database1 là tên CSDL.

9. Tạo user

Sử dụng lệnh sau:

create user 'user'@localhost identified by '123456';

10. Gán database cho user

Sử dụng lệnh sau:

GRANT ALL ON database1.* TO 'user'@'localhost';

11. Kiểm tra các CSDL

Kiểm tra các CSDL bạn dùng lệnh sau:

show databases;

12. Kiểm tra user

Kiểm tra user, bạn dùng lệnh sau:

select user,host,password from mysql.user;

Cài đặt MariaDB 10 trên CentOS 7 đã hoàn thành. Nào, bây giờ hãy bắt đầu trải nghiệm nhé. Chúc bạn thành công!