Thứ tư, 18/03/2020 | 00:00 GMT+7

Cách cài đặt MySQL trên CentOS 8

MySQL là một hệ quản trị database open-souce , thường được cài đặt như một phần của ngăn xếp LEMP (Linux, Nginx, MySQL / MariaDB, PHP / Python / Perl) phổ biến. Nó thực hiện mô hình quan hệNgôn ngữ truy vấn có cấu trúc (SQL) để quản lý và truy vấn dữ liệu.

Hướng dẫn này giải thích cách cài đặt MySQL version 8 trên server CentOS 8.

Yêu cầu

Để hoàn thành hướng dẫn này, bạn cần một server chạy CentOS 8. Server này phải có user không phải root có quyền quản trị và firewall được cấu hình bằng firewalld . Để cài đặt điều này, hãy xem hướng dẫn Cài đặt Server Ban đầu của ta cho CentOS 8 .

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

Trên CentOS 8, MySQL version 8 có sẵn từ repository mặc định .

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 yêu cầu , hãy nhấn y rồi ENTER để xác nhận bạn muốn tiếp tục:

Output
. . . Install 49 Packages Total download size: 46 M Installed size: 252 M Is this ok [y/N]: y

Cùng với đó, MySQL đã được cài đặt trên server của bạn nhưng nó vẫn chưa hoạt động. Gói bạn vừa cài đặt cấu hình MySQL để chạy dưới dạng dịch vụ systemd có tên mysqld.service . Để sử dụng MySQL, bạn cần khởi động nó bằng lệnh systemctl :

  • sudo systemctl start mysqld.service

Để kiểm tra xem dịch vụ có đang chạy chính xác hay không, hãy chạy lệnh sau. Lưu ý đối với nhiều lệnh systemctl - bao gồm start và, như được hiển thị ở đây, status - bạn không cần bao gồm .service sau tên dịch vụ:

  • sudo systemctl status mysqld

Nếu MySQL đã được khởi động thành công, kết quả sẽ hiển thị rằng dịch vụ MySQL đang hoạt động:

Output
● 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-03-12 14: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 Mar 12 14:07:32 cent-mysql-3 systemd[1]: Starting MySQL 8.0 database server... Mar 12 14:07:32 cent-mysql-3 mysql-prepare-db-dir[15639]: Initializing MySQL database Mar 12 14:07:41 cent-mysql-3 systemd[1]: Started MySQL 8.0 database server.

Tiếp theo, đặt MySQL khởi động khi nào server khởi động bằng lệnh sau:

  • sudo systemctl enable mysqld

Lưu ý: Nếu bạn muốn thay đổi hành vi này và tắt MySQL khởi động khi server khởi động , bạn có thể thực hiện bằng cách chạy:

  • sudo systemctl disable mysqld

MySQL hiện đã được cài đặt, chạy và kích hoạt trên server của bạn. Tiếp theo, ta sẽ xem xét cách tăng cường bảo mật cho database của bạn bằng cách sử dụng tập lệnh shell được cài đặt sẵn với version MySQL của bạn.

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

MySQL bao gồ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 tính bảo mật của MySQL.

Để sử dụng tập lệnh bảo mật, hãy chạy lệnh sau:

  • sudo mysql_secure_installation

Điều này sẽ đưa bạn qua một loạt dấu nhắc hỏi bạn có muốn áp dụng các thay đổi nhất định đối với các tùy chọn bảo mật của cài đặt MySQL của bạn hay không. Dấu nhắc đầu tiên sẽ hỏi bạn có muốn cài đặt Trình cắm password xác thực, mà bạn có thể sử dụng để kiểm tra độ mạnh của password MySQL của bạn hay không.

Nếu bạn chọn cài đặt Plugin xác thực password , tập lệnh sẽ yêu cầu bạn chọn mức xác thực password . Cấp độ mạnh nhất - mà bạn chọn bằng lệnh 2 - sẽ yêu cầu password của bạn dài ít nhất tám ký tự và bao gồm kết hợp các ký tự viết hoa, viết thường, số và đặc biệt:

Output
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

Dù bạn có chọn cài đặt Trình cắm password xác thực hay không, dấu nhắc tiếp theo sẽ là đặt password cho user gốc MySQL. Nhập và sau đó xác nhận một password an toàn mà bạn chọn:

Output
Please set the password for root here. New password: Re-enter new password:

Nếu bạn đã sử dụng Plugin xác thực password , bạn sẽ nhận được phản hồi về độ mạnh của password mới của bạn . Sau đó, tập lệnh sẽ hỏi bạn có muốn tiếp tục với password vừa nhập hay bạn muốn nhập password mới. Giả sử bạn hài lòng với độ mạnh của password vừa nhập, hãy nhập Y để tiếp tục tập lệnh:

Output
Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

Sau đó, bạn có thể nhấn Y và sau đó ENTER để chấp nhận các giá trị mặc định cho tất cả các câu hỏi tiếp theo. Thao tác này sẽ xóa một số user ẩn danh và database thử nghiệm, vô hiệu hóa đăng nhập root từ xa và tải các luật mới này để MySQL áp dụng ngay những thay đổi bạn đã thực hiện.

Như vậy, bạn đã cài đặt và bảo mật MySQL trên server CentOS 8 của bạn . Bước cuối cùng, ta sẽ kiểm tra xem database có thể truy cập và hoạt động như mong đợi hay không.

Bước 3 - Kiểm tra MySQL

Bạn có thể xác minh cài đặt của bạn 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 client 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 dưới dạng root ( -u root ), nhắc nhập password ( -p ) và trả về version cài đặt:

  • mysqladmin -u root -p version

Bạn sẽ thấy kết quả tương tự như sau:

Đầu ra
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 đó, hãy chạy như sau:

  • mysql -u root -p

Giống như lệnh mysqladmin trước đó, lệnh này bao gồm tùy chọn -u , cho phép bạn chỉ định user mà bạn muốn kết nối ( root trong trường hợp này) và tùy chọn -p , cho lệnh nhắc bạn về password user bạn đã đặt ở bước trước.

Sau khi bạn nhập password user MySQL gốc của bạn , bạn sẽ thấy dấu nhắc MySQL:

Từ đó, bạn có thể bắt đầu sử dụng cài đặt MySQL của bạn để tạo và tải database cũng như bắt đầu chạy các truy vấn.

Kết luận

Theo hướng dẫn này, bạn đã cài đặt và bảo mật MySQL trên server CentOS 8. Từ đây, bạn có thể cài đặt Nginx và PHP để có một LEMP hoạt động đầy đủ trên server của bạn .

Để tìm hiểu thêm về cách sử dụng MySQL, ta khuyến khích bạn xem lại tài liệu chính thức .


Tags:

Các tin liên quan

Cách triển khai phân trang trong MySQL với PHP trên Ubuntu 18.04
2020-01-29
Cách tối ưu hóa truy vấn MySQL với bộ đệm ProxySQL trên Ubuntu 16.04
2019-12-30
Cách cấu hình Cụm Galera với MySQL trên server Ubuntu 18.04
2019-12-16
Cách quản lý và sử dụng trình kích hoạt database MySQL trên Ubuntu 18.04
2019-12-10
Cách tạo một ứng dụng trích dẫn đầy cảm hứng bằng AdonisJs và MySQL
2019-11-22
Cách cài đặt MySQL mới nhất trên Debian 10
2019-07-25
Cách triển khai ứng dụng cốt lõi ASP.NET với server MySQL bằng Nginx trên Ubuntu 18.04
2019-07-23
Cách tối ưu hóa MySQL với Bộ đệm truy vấn trên Ubuntu 18.04
2019-06-12
Cách di chuyển database MySQL sang PostgreSQL bằng pgLoader
2019-05-28
Cách cấu hình SSL / TLS cho MySQL trên Ubuntu 18.04
2019-05-17