Cài đặt – Install MySQL on CentOS 7

0
518

MySQL là một hệ thống 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 (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl) phổ biến. Nó sử dụng cơ sở dữ liệu quan hệ và SQL (Ngôn ngữ truy vấn có cấu trúc) để quản lý dữ liệu của nó.

CentOS 7 thích MariaDB, một nhánh của MySQL được quản lý bởi các nhà phát triển MySQL gốc và được thiết kế để thay thế cho MySQL. Nếu bạn chạy yum install mysql trên CentOS 7, thì MariaDB sẽ được cài đặt chứ không phải MySQL. Nếu bạn đang tự hỏi MySQL so với MariaDB có gí khác nhau, thì MariaDB thường sẽ hoạt động trơn tru thay cho MySQL. Vì vậy trừ khi bạn gặp trường hợp cần thiết phải sử dụng MySLQ. Còn nếu không, hãy xem Hướng dẫn cách cài đặt MariaDB trên Centos 7.

Bài viết này sẽ giải thích cách cài đặt phiên bản MySQL 8 mới nhất ở thời điểm viết bài trên máy chủ CentOS 7. Các bạn có thể làm tương tự với các phiên bản MySQL khác.

Điều kiện cần thiết:
Để làm theo hướng dẫn này, bạn sẽ cần:
Một máy chủ CentOS 7 với người dùng root hoặc người dùng phải có quyền sudo. Bạn có thể tìm hiểu thêm về cách thiết lập người dùng với các đặc quyền này trong Hướng dẫn cài đặt máy chủ ban đầu với hướng dẫn CentOS 7.
Ở bài viết này mình dùng trực tiếp tài khoản root. Nếu các bạn dùng tài khoản có quyền sudo thì trước mỗi câu lệnh bạn phải thêm sudo phía trước.

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

Như đã đề cập trong phần giới thiệu, lệnh Yum để cài đặt MySQL nhưng trên thực tế sẽ cài đặt MariaDB. Để cài đặt MySQL, chúng ta sẽ cần truy cập vào kho lưu trữ Yum của cộng đồng MySQL, nơi cung cấp các gói cho MySQL.

Trong trình duyệt web, hãy truy cập:

https://dev.mysql.com/downloads/repo/yum/

Lưu ý rằng các liên kết Tải xuống trong bài viết không dẫn trực tiếp đến các tệp tải xuống. Thay vào đó, chúng dẫn đến một trang tiếp theo nơi bạn phải đăng nhập hoặc đăng ký tài khoản. Nếu bạn không muốn tạo tài khoản, chọn “Không, cảm ơn, chỉ cần bắt đầu tải xuống của tôi”. Sau đó nhấp chuột phải và sao chép vị trí liên kết hoặc bạn có thể chỉnh sửa số phiên bản trong các lệnh bên dưới.

Xác định vị trí phiên bản mong muốn và cập nhật nó khi cần trong liên kết bên dưới:

Sử dụng lệnh Wget để tải về, trong đó đoạn lệnh này “mysql80-community-release-el7-2.noarch.rpm” sẽ là đoạn mã cũng như version của phiên bản MySQL mà bạn muốn cài đặt được khoanh đỏ ở ảnh trên.

[root@tuanvd ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

Tiến hành xác minh tính toàn vẹn của tệp được tải xuống bằng cách chạy md5sum. So sánh nó với giá trị MD5 tương ứng được liệt kê trên trang web bằng câu lệnh:

[root@tuanvd ~]# md5sum mysql80-community-release-el7-2.noarch.rpm

Đầu ra của câu lệnh sẽ như sau:

Output:
1a29601dc380ef2c7bc25e2a0e25d31e mysql80-community-release-el7-2.noarch.rpm

Tiến hành so sánh mã MD5 Output với mã MD5 trên website. Sau khi xác định được tập tin tải về không bị thay đổi, chúng ta tiến hành cài đặt MySQL:

[root@tuanvd ~]# rpm -ivh mysql80-community-release-el7-2.noarch.rpm

Điều này sẽ thêm hai MySQL yum repositories mới và bây giờ chúng ta có thể sử dụng lệnh Yum để cài đặt máy chủ MySQL, trường -y phía sau để đồng ý cài đặt mà không hỏi thêm:

[root@tuanvd ~]# yum install mysql-server -y

Bước 2 – Start MySQL

Start MySQL bằng lệnh:
[root@tuanvd ~]# systemctl start mysqld

Lệnh Systemctl không hiển thị tình trạng của lệnh quản lý dịch vụ, vì vậy để chắc chắn rằng MySQL đã khởi chạy dùng lệnh sau:

[root@tuanvd ~]# systemctl status mysqld

Nếu MySQL đã khởi động thành công, đầu ra sẽ chứa Active: active (đang chạy) và dòng cuối cùng sẽ trông giống như:

Output:
Mar 20 14:04:01 tuanvd.com systemd[1]: Starting MySQL Server…
Mar 20 14:04:02 tuanvd.com systemd[1]: Started MySQL Server.

Lưu ý: MySQL được tự động kích hoạt để bắt đầu khi khởi động khi nó được cài đặt. Bạn có thể thay đổi hành vi mặc định đó với lệnh: sudo systemctl disable mysqld

Trong quá trình cài đặt, mật khẩu tạm thời được tạo cho người dùng root MySQL. Xác định vị trí của nó trong mysqld.log bằng lệnh này:

[root@tuanvd ~]# grep 'temporary password' /var/log/mysqld.log

Output:
2019-03-19T07:20:51.341999Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: -hM>pRz+w4ub

Coppy lại mật khẩu mà bạn sẽ cần trong bước tiếp theo để bảo mật cài đặt và bạn sẽ buộc phải thay đổi mật khẩu này. Chính sách mật khẩu mặc định yêu cầu 12 ký tự, với ít nhất một chữ cái viết hoa, một chữ cái viết thường, một số và một ký tự đặc biệt.

Bước 3 – Cấu Hình MySQL

MySQL bao gồm một tập lệnh bảo mật để thay đổi một số tùy chọn mặc định kém an toàn hơn cho những thứ như đăng nhập gốc từ xa và người dùng mẫu.
Sử dụng lệnh này để chạy tập lệnh bảo mật:

[root@tuanvd ~]# mysql_secure_installation

Điều này sẽ nhắc bạn nhập mật khẩu root mặc định mà bạn Coppy ở trên. Ngay sau khi bạn nhập nó, bạn sẽ được yêu cầu thay đổi nó:

OutputEstimated strength of the password: "Nhập PASS Coppy"
Change the password for root ? (Press y|Y for Yes, any other key for No) :

Sau khi từ chối lời nhắc thay đổi mật khẩu một lần nữa, chúng tôi sẽ nhấn Y và sau đó ENTER vào tất cả các câu hỏi tiếp theo là để xóa người dùng ẩn danh, không cho phép đăng nhập root từ xa, xóa cơ sở dữ liệu kiểm tra và truy cập vào nó, và tải lại các bảng đặc quyền. Bạn nên chọn là Y.
Bây giờ bạn đã hoàn thành đổi mật khẩu và bảo mật cài đặt, hãy kiểm tra nó.

Bước 4 – Kiểm tra MySQL

Chúng ta 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 dưới dạng root (-u root), nhắc nhập mật khẩu (-p) và trả về phiên bản MySQL:

[root@tuanvd ~]# mysqladmin -u root -p version

Bạn sẽ thấy đầu ra tương tự như thế này:

Output:
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 96
Server version: 8.0.15 MySQL Community Server – GPL
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.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>

Điều này cho thấy cài đặt của bạn đã thành công.

Kết Luận

Trong hướng dẫn này, Tuanvd.com đã cài đặt và bảo mật MySQL trên máy chủ CentOS 7. Để tìm hiểu thêm về cách sử dụng MySQL, bạn cũng có thể xem xét thực hiện một số biện pháp bảo mật bổ sung.