Linux, CentOS

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

Written by huudoanh

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.

Bước 1: Cài đặt MySQL

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.

Bước 2: Bảo mật MySQL

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ước 3: Kiểm tra MySQL

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.