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.
Mục lục nội dung
II. Tạo User Database và Database
1. Tạo database
3. Cho phép database user sử dụng database
III. Lời kết
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 !