MySQL là một hệ quản lý cơ sở dữ liệu nguồn mở, thường được cài đặt như một phần của LEMP stack (Linux, Nginx, MySQL / MariaDB, PHP / Python / Perl). Nó triển khai mô hình quan hệ và Ngôn ngữ truy vấn có cấu trúc Structured Query Language (SQL) để quản lý và truy vấn dữ liệu.
MySQL phiên bản 8 có sẵn trong kho lưu trữ mặc định của CentOS 8.
Chạy lệnh sau để cài đặt gói mysql-server
và một số gói phụ thuộc của nó:
$sudo dnf install mysql-server
Khi được nhắc, nhấn y
và sau đó ENTER
để xác nhận rằng bạn muốn tiếp tục:
. . .
Install 49 Packages
Total download size: 46 M
Installed size: 252 M
Is this ok [y/N]: y
MySQL đã được cài đặt trên máy chủ của bạn nhưng nó vẫn chưa hoạt động. Để sử dụng MySQL, bạn sẽ cần khởi động nó bằng lệnh systemctl
:
$sudo systemctl start mysqld.service
Để kiểm tra xem dịch vụ có chạy đúng không, hãy chạy lệnh sau:
$sudo systemctl status mysqld
Nếu MySQL được khởi động thành công, đầu ra sẽ cho thấy dịch vụ MySQL đang hoạt động:
● mysqld.service - MySQL 8.0 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-04-22 10:07:41 UTC; 1min 7s ago
Main PID: 15723 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 5056)
Memory: 474.2M
CGroup: /system.slice/mysqld.service
└─15723 /usr/libexec/mysqld --basedir=/usr
Apr 22 10:07:32 cent-mysql-3 systemd[1]: Starting MySQL 8.0 database server...
Apr 22 10:07:32 cent-mysql-3 mysql-prepare-db-dir[15639]: Initializing MySQL database
Apr 22 10:07:41 cent-mysql-3 systemd[1]: Started MySQL 8.0 database server.
Tiếp theo, bật dịch vụ MySQL khởi động cùng server:
$sudo systemctl enable mysqld
MySQL hiện đã được cài đặt, chạy trên máy chủ của bạn. Tiếp theo, chúng ta sẽ tìm hiểu cách tăng cường bảo mật cơ sở dữ liệu bằng cách sử dụng tập lệnh shell được cài đặt sẵn với phiên bản MySQL của bạn.
MySQL đi kèm một tập lệnh bảo mật cho phép bạn thay đổi một số tùy chọn cấu hình mặc định để cải thiện bảo mật MySQL.
Để sử dụng tập lệnh bảo mật, hãy chạy lệnh sau:
$sudo mysql_secure_installation
Trên màn hình sẽ đưa ra một số câu hỏi tuỳ chọn: bạn có muốn sử dụng Validate Password Plugin
để kiểm tra độ mạnh của mật khẩu MySQL. Nếu có y
bạn cần chọn cấp độ cho nó, ở đây tôi chọn 2
với độ mạnh là STRONG
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Tiếp theo bạn được nhắc đặt mật khẩu cho tài khoản root của MySQL:
Please set the password for root here.
New password:
Re-enter new password:
Bạn sẽ nhận được phản hồi đánh giá độ mạnh của mật khẩu, nếu đồng ý bấm y
để tiếp tục.
Estimated strength of the password: 90
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Bạn đã cài đặt và bảo mật MySQL trên máy chủ CentOS 8 của mình. Bước cuối cùng, chúng ta sẽ kiểm tra cơ sở dữ liệu có thể truy cập và hoạt động như mong đợi.
Bạn có thể xác minh cài đặt của mình và nhận thông tin về nó bằng cách kết nối với công cụ mysqladmin, một ứng dụng khách cho phép bạn chạy các lệnh quản trị.
Sử dụng lệnh sau để kết nối với MySQL:
$mysqladmin -u root -p version
Bạn sẽ thấy đầu ra tương tự như thế này:
mysqladmin Ver 8.0.17 for Linux on x86_64 (Source distribution)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 8.0.17
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 2 hours 52 min 37 sec
Threads: 2 Questions: 20 Slow queries: 0 Opens: 131 Flush tables: 3 Open tables: 48 Queries per second avg: 0.001
Điều này cho thấy cài đặt của bạn đã thành công.
Nếu bạn muốn kết nối với MySQL và bắt đầu thêm dữ liệu vào nó, hãy chạy như sau:
$mysql -u root -p
Sau khi nhập mật khẩu root của MySQL, bạn sẽ thấy:
mysql>
Từ đây, bạn có thể tạo, sửa, xoá CSDL của mình.