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

MySQL là hệ quản trị cơ sở dữ liệu nguồn mở nổi bật với tốc độ cao, ổn định và dễ sử dụng. MySQL thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL là miễn phí và được sử dụng tự do trong mọi hệ điều hành.

MariaDB là hệ quản trị cơ sở dữ liệu được viết lại và phát triển lên từ MySQL nhằm tối ưu hóa khả năng xử lý dữ liệu và tăng tốc độ truy vấn. MariaDB hoàn toàn tương thích với MySQL.

Trên CentOS 7, MySQL được thay thế bằng MariaDB với nhiều tính năng vượt trội hơn.

Cài đặt MariaDB

Chúng ta chỉ chọn 1 trong 2 cách cài, 1 là cài phiên bản mặc định đi kèm với CentOS 7 hoặc là cài thông qua Repo (điểm lợi thế là bạn có thể lấy được phiên bản mới nhất từ Repo)

Cài đặt mặc định

Mặc định trong yum của CentOS 7 đã có repo MariaDB 5.5.47. Điều này cho phép bạn nhanh chóng cài đặt chỉ với 1 câu lệnh (tuy nhiên phiên bản tối đa vẫn chỉ là 5.5.*)

sudo yum install -y mariadb mariadb-server

Cài đặt qua Repo

Bạn có thể tùy chọn phiên bản từ Repo

Thêm Repo vào server

Bạn cần tìm kiếm phiên bản mới nhất của MariaDB tại https://yum.mariadb.org

Tính đến ngày viết bài này thì mình thấy phiên bản mới nhất là 10.2.0

Thêm repo tại /etc/yum.repos.d/mariadb.repo

sudo vi /etc/yum.repos.d/mariadb.repo

Sau đó chép nội đoạn code bên dưới vào, nhớ thay dòng màu đỏ thành phiên bản mới nhất bạn tìm được ở https://yum.mariadb.org nhé

# mariadb.repo 10.2.0
[mariadb]
name=mariadb repo
baseurl=https://yum.mariadb.org/10.2.0/centos7-amd64/
gpgcheck=0
enabled=1

Lưu lại và kiểm tra phiên bản của MariaDB-Server sau khi thêm repo mới

sudo yum info mariadb-server

Kết quả cho thấy MariaDB 10.2.0 đã sẵn sàng

Name        : MariaDB-server
Arch        : x86_64
Version     : 10.2.0
Release     : 1.el7.centos
Size        : 101 M
Repo        : mariadb
Summary     : MariaDB: a very fast and robust SQL database server
URL         : http://mariadb.org
License     : GPLv2
Description :
            :
            : It is GPL v2 licensed, which means you can use the it free of charge under the
            : conditions of the GNU General Public License Version 2 (http://www.gnu.org/licenses/).
            :
            : MariaDB documentation can be found at https://mariadb.com/kb
            : MariaDB bug reports should be submitted through https://jira.mariadb.org

Cài đặt MariaDB 10

Đơn giản chỉ cần gõ lệnh sau và chờ đợi

sudo yum install mariadb-server -y

Kết thúc quá trình cài đặt, bạn có thể kiểm tra lại phiên bản đã cài

Đầu tiên cần khởi động dịch vụ MariaDB 

sudo systemctl start mariadb

Sau đó gõ mysql để xem thông tin phiên bản

[bigvn@localhost ~]$ mysql
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 2
Server version: 10.2.0-MariaDB MariaDB Server

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

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

Các dòng lệnh quản lý

Khởi động dịch vụ

sudo systemctl start mariadb

Cho phép tự động chạy sau khi khởi động

sudo systemctl enable mariadb

Dừng dịch vụ

sudo systemctl stop mariadb

Kiểm tra trạng thái hoạt động của MariaDB

systemctl status mariadb

Thiết lập cơ bản cho MariaDB

Sau khi cài đặt, tài khoản root của MySQL chưa có mật khẩu. Bạn cần đặt mật khẩu cho nó đồng thời thiết lập thêm một số tùy chọn khác với câu lệnh sau

mysql_secure_installation

Nội dung chính bao gồm:

+ Set root password: Nhập mật khẩu cho tài khoản root.
Remove anonymous users: Xóa tài khoản vô danh, Bạn chon Y (Yes).
Disallow root login remotely: Tắt truy cập từ xa, ví dụ sử dụng phần mềm Navicat để điều khiển từ xa. Tùy bạn lựa chọn.
Remove test database and access to it: Xóa database có tên là "test", đương nhiên nó chỉ dùng để test lúc ban đầu, bạn có thể xóa nó. Chon Y (Yes)

Xong xuôi bạn gõ quit để thoát ra

Tạo User Database và Database

Hiện tại chúng ta đã có tài khoản root của MySQL, nó có mọi quyền hạn bao gồm việc "nhìn thấy" toàn bộ database của các tài khoản con. Do dó để  tránh rò rỉ password root, khi sử dụng cho mỗi website, thì chúng ta nên tạo 1 user database và chỉ gắn với 1 database trong đó

Đăng nhập vào MariaDB Server

Câu lệnh đăng nhập và sử dụng sau này cũng giống y như khi bạn sử dụng MySQL vậy

mysql -u root -p

Câu lệnh trên để đăng nhập vào root, bạn sẽ cần nhập mật khẩu root của Mysql để tiếp tục.
Cách khác là bạn có thể viết liền câu lệnh trên kèm với mật khẩu cho nhanh

mysql -u root -p[mật khẩu root Mysql]

ví dụ: mysql -u root -p12345678 , với mật khẩu là 12345678 viết liền sau với -p. Chú ý nếu trong mật khẩu có chứa 1 số ký tự đặc biệt như dấu cảm thán ! thì cần viết dấu ở đằng trước thành !

Tạo database

Sử dụng command sau để tạo

create database [tên database];

Ví dụ tạo database có tên là bigvn:

create database bigvn; 

Xem danh sách database hiện có với show databases

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| bigvn                |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.04 sec)

Tạo database user

Tạo user với cấu trúc lệnh sau

create user [tên user]@[hostname];

Trong đó hostname chính là localhost của bạn, bạn nên để giá trị localhost ở phần hostname và không nên đổi thành cái khác trừ khi bạn biết mình đang làm gì. Ví dụ tạo user tên là bigvn_user

create user bigvn_user@localhost

Xem danh sách các user hiện có

SELECT User,Host FROM mysql.user;

Kết quả:

MariaDB [mysql]> SELECT User,Host FROM mysql.user;
+----------+-----------------------+
| User     | Host                  |
+----------+-----------------------+
| root     | 127.0.0.1             |
| root     | ::1                   |
| bigvn_user | localhost             |
| root     | localhost             |
| root     | localhost.localdomain |
+----------+-----------------------+
5 rows in set (0.00 sec)          

Vậy là user bigvn_user đã tồn tại, tuy nhiên nó cũng chưa có password. Bạn cần cập nhật password cho nó với cú pháp

set password for [tên user]@[hostname] = password("[mật khẩu user]");

Ví dụ tên user là bigvn_user và mật khẩu là 12345678.

set password for bigvn_user@localhost= password("12345678");

Ngoài ra, chúng ta còn có cách khác để đổi pass là sử dụng query trực tiếp với cú pháp

UPDATE mysql.user SET Password=PASSWORD('[mật khẩu user]') WHERE User='[tên user]' AND Host='[hostname]';

với kết quả sau khi thay giá trị thực tế là:

MariaDB [mysql]> UPDATE mysql.user SET Password=PASSWORD('12345678') WHERE User='bigvn_user' AND Host='localhost';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0  

Cho phép database user sử dụng database

Để cho phép database user sử dụng database với cú pháp 

grant all privileges on [tên database].* to [tên user]@[hostname] IDENTIFIED BY '[mật khẩu user]';

Cụ thể với ví dụ sau

grant all privileges on bigvn.* to bigvn_user@localhost IDENTIFIED BY '12345678'; 

Cuối cùng, hãy cập nhật lại thông tin Privileges

flush privileges; 

Lời kết

Như vậy qua những hướng dẫn trên, các bạn có thể hiểu phần nào cách cài đặt và thiết lập cơ bản cho cơ sở dữ liệu MariaDB trên CentOS 7. Và trong những bài sắp tới, mình sẽ viết thêm bài tối ưu và nâng cao hiệu năng sử dụng MariaDB. Mong các bạn chú ý theo dõi ! Cám ơn !

loading...

Viết nhận xét