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

Với bài viết này các bạn sẽ được hướng dẫn cài đặt dịch vụ MariaDB 10.2 trên CentOS 7. Một trong những dịch vụ Cơ Sở Dữ Liệu cực kì phổ biến để chạy các nền tảng web CMS nổi tiếng như WordPress, Joomla,.. không thể nào sống thiếu nó được.

MariaDB là gì ?

MariaDB là một phiên bản nhánh khác của mã nguồn dịch vụ MySQL database (MySQL giờ thuộc sở hữu của Oracle), là máy chủ cơ sở dữ liệu cung cấp các chức năng thay thế cho MySQL. MariaDB được xây dựng bởi một số tác giả sáng lập ra MySQL được sự hỗ trợ của đông đảo cộng đồng các nhà phát triển phần mềm mã nguồn mở.

cài đặt mariadb 10.2 trên centos 7

MariaDB phát hành phiên bản đầu tiên vào 11/2008 bởi Monty Widenius, người đồng sáng lập MySQL. Widenius sau khi nghỉ công tác cho MySQL ( sau khi Sun mua lại MySQL ) đã thành lập công ty Monty Program AB và phát triển MariaDB.

Chúng ta có thể tìm hiểu rõ hơn tại https://mariadb.org/ , MariaDB có các phiên bản cho các hệ điều hành khác nhau: Windows, Linux,.. với các gói cài đặt tar, zip, MSI, rpm cho cả 32bit và 64bit. Hiện tại phiên bản mới nhất của MariaDB là 10.2 (tính đến thời điểm viết bài).

Các bước cài đặt MariaDB 10.2 trên CentOS 7

1. Cài đặt Repository MariaDB 10.2

– Chúng ta sẽ khởi tạo 1 repository file nguồn từ MariaDB chính thức. Mình khuyến cáo nên sử dụng phương pháp cài đặt này vừa nhanh vừa tiện lợi và an toàn về nguồn gốc phần mềm cài đặt.

– Các bạn truy cập link sau : https://downloads.mariadb.org/mariadb/repositories/ , để MariaDB web tạo cho các bạn nội dung Repository tương ứng OS.

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

# MariaDB 10.2 CentOS repository list
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

– Ta cho cập nhật thông tin về Repository MariaDB 10.2 mới được cấu hình ở file ‘MariaDB.repo‘. Sau đó thì ta cài đặt các gói chương trình của dịch vụ CSDL Mariadb 10.2 trên centos 7.

# yum update
# yum install MariaDB-server MariaDB-client MariaDB-devel -y

– Ta sẽ khởi động dịch vụ MariaDB có tên dịch vụ là ‘mysql‘ trên CentOS và thiết lập cho dịch vụ MariaDB khởi động khi Hệ Điều Hành Linux được khởi động.

# systemctl start mysql.service
# systemctl enable mysql.service

2. File cấu hình mẫu 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 hoàn thành 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 ở 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, chỉ phù hợp với nhu cầu bình thường.
– 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 1GB trở xuống dành cho database.

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

# mv /etc/my.cnf /etc/my.$(date -I)
# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

3. Thiết lập cấu hình bảo mật cơ bản cho dịch vụ MariaDB

Chúng ta sẽ chạy chương trình script “mysql_secure_installation” ngay sau khi cài đặt MariaDB nhằm đạt được các mục tiêu sau :

  • Thay đổi mật khẩu root.
  • Xoá bỏ user anonymous.
  • Tắt tính năng cho phép root login từ ngoài hệ thống.
  • Xoá bỏ database “test” và quyền truy cập nó.
  • Reload lại các table liên quan đến quyền hạn.
# mysql_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
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

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

– Khởi động lại dịch vụ MariaDB.

# systemctl restart mysql.service

4. Kiểm tra dịch vụ MariaDB 10.2 trên CentOS 7

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

# mysql -V
mysql Ver 15.1 Distrib 10.2.9-MariaDB, for Linux (x86_64) using readline 5.1

– Kiểm tra xem có tiến trình nào của MariaDB đang chạy hay không? Tên tiến trình sẽ là ‘mysqld‘.

# 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 bạn 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'<matkhau>'
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)]>

Xem thêm:
Hướng dẫn cấu hình đăng nhập MySQL không cần nhập user/pass

Như vậy với các thao tác trên bạn đã có thể cài đặt thành công dịch vụ CSDL MariaDB phiên bản 10.2 trên CentOS 7 rồi. Nếu có thắc mắc gì đừng ngại comment để trao đổi cùng ‘Cuongquach.com‘ nhé.

Quách Chí Cường

Previous articleTự học MCSA 2012: Phân quyền NTFS Permission
Next articleTìm hiểu chức năng One-Click App khi tạo VPS/Cloud Server
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !