Trang chủ / Chuyên đề / Cài đặt MySQL trên CentOS 7
Thứ năm, 01/12/2016 | 00:00 GMT+7

Cài đặt MySQL trên CentOS 7

MySQL là hệ quản trị database open-souce, thường được cài trong bộ LEMP phổ biến (Linux, Nginx, MySQL / MariaDB, PHP / Python / Perl). Mysql sử dụng database quan hệ và SQL (Ngôn ngữ truy vấn có cấu trúc) để quản lý dữ liệu.

CentOS 7 có sẵn MariaDB, một nhánh của MySQL do các nhà phát triển MySQL ban đầu quản lý và được tạo ra để thay thế cho MySQL. Nếu bạn chạy yum install mysql trên CentOS 7, thì MariaDB được cài đặt chứ không phải MySQL. Nếu bạn đang thắc mắc về MySQL so với MariaDB, MariaDB nói chung sẽ hoạt động trơn tru thay cho MySQL , vì vậy trừ khi bạn có một trường hợp sử dụng cụ thể cho MySQL, hãy xem hướng dẫn Cách cài đặt MariaDB trên Centos 7 .

Hướng dẫn này sẽ cài đặt MySQL version 5.7 trên server CentOS 7.

Yêu cầu

Để làm theo hướng dẫn này, bạn cần:

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

Như đã đề cập trong phần giới thiệu, lệnh Yum để cài đặt MySQL trên thực tế sẽ cài đặt MariaDB. Để cài đặt MySQL, ta cần phải truy cập vào MySQL Community Yum Repository , 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/

Tìm version mong muốn và lấy liên kết, download với wget:

Screencapture làm nổi bật tên repo yum hiện tại

  • wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

Sau khi file rpm được lưu, nếu cẩn thận hơn, ta xác minh tính toàn vẹn của file download bằng cách chạy md5sum và so sánh nó với giá trị MD5 tương ứng được liệt kê trên trang web:

  • md5sum mysql57-community-release-el7-9.noarch.rpm
Output
1a29601dc380ef2c7bc25e2a0e25d31e  mysql57-community-release-el7-9.noarch.rpm

So sánh kết quả này với giá trị MD5 thích hợp trên trang web:

Đánh dấu màn hình md5dsum

Bây giờ ta đã xác minh file không bị hỏng hoặc thay đổi, ta sẽ cài đặt gói:

  • sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

Điều này bổ sung thêm hai repository (kho-lưu-trữ) MySQL yum mới và bây giờ ta có thể sử dụng chúng để cài đặt server MySQL:

  • sudo yum install mysql-server

Nhấn y để xác nhận bạn muốn tiếp tục. Vì ta vừa thêm gói, ta cũng sẽ được yêu cầu chấp nhận khóa GPG của nó. Nhấn y để download và hoàn tất quá trình cài đặt. 

Bước 2 - Khởi động MySQL

Ta sẽ khởi động daemon bằng lệnh sau:

  • sudo systemctl start mysqld

systemctl không hiển thị kết quả của tất cả các lệnh quản lý dịch vụ, vì vậy đảm bảo ta đã thành công, ta sẽ sử dụng lệnh sau:

  • sudo systemctl status mysqld

Nếu MySQL đã khởi động thành công, kết quả phải chứa Active: active (running) và dòng cuối cùng sẽ giống như sau:

  • Dec 01 19:02:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.

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

Trong quá trình cài đặt, một password tạm thời được tạo cho user root MySQL. Định vị nó trong mysqld.log bằng lệnh này:

  • sudo grep 'temporary password' /var/log/mysqld.log
Output
2016-12-01T00:22:31.416107Z 1 [Note] A temporary password is generated for root@localhost: mqRfBU_3Xk>r

Ghi lại password mà bạn cần trong bước tiếp theo để bảo mật cài đặt và thay đổi password. Policy (chính-sách) password mặc định yêu cầu 12 ký tự, với ít nhất một chữ viết hoa, một chữ 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 như thông tin đăng nhập root từ xa và user mẫu.

Sử dụng lệnh này để chạy tập lệnh bảo mật.

  • sudo mysql_secure_installation

Thao tác này sẽ nhắc bạn nhập password root mặc định, và yêu cầu đổi password ngay.

Output
The existing password for the user account root has expired. Please set a new password.

New password:

Nhập password mới gồm 12 ký tự chứa í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.

Sẽ có kiểm tra về độ mạnh của password mới

Output
Estimated strength of the password: 100
Change the password for root ? (Press y|Y for Yes, any other key for No) :

Sau đó ta ENTER vào tất cả các câu hỏi tiếp theo để xóa user ẩn danh, không cho phép đăng nhập root từ xa, xóa database thử nghiệm và reload (tải-lại) các bảng quyền .

Bây giờ ta đã bảo mật cài đặt, hãy kiểm tra .

Bước 4 - Kiểm tra MySQL

Ta có thể xác minh cài đặt của bạn và nhận thông tin 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.

  • mysqladmin -u root -p version

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

Kết quả
mysqladmin  Ver 8.42 Distrib 5.7.16, for Linux on x86_64
Copyright (c) 2000, 2016, 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          5.7.16
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 2 min 17 sec

Threads: 1  Questions: 6  Slow queries: 0  Opens: 107  Flush tables: 1  Open tables: 100  Queries per second avg: 0.043

Đ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, ta đã cài đặt và bảo mật MySQL trên server CentOS 7. Để tìm hiểu thêm về cách sử dụng MySQL, có thể xem tại hiểu thêm về các lệnh MySQL này. Bạn cũng có thể xem xét triển khai một số biện pháp bảo mật bổ sung .



Các tin trước

Cài đặt MySQL trên Ubuntu 16.04 2016-11-23

Cài đặt Node.js Application for Production trên Ubuntu 16.04 2016-11-01

Cài đặt Nginx Server Blocks (Virtual Hosts) trên Ubuntu 16.04 2016-05-19

Cài đặt OpenVPN Server trên Ubuntu 16.04 2016-05-04

Cài đặt JAVA với Apt-Get trên Ubuntu 16.04 2016-04-23

Cài đặt Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 16.04 2016-04-21

Cài đặt đăng nhập với ssh và key authentication trên Ubuntu 16.4 2016-04-21

Sử dụng UFW căn bản, các luật firewall phổ biến 2015-08-20

Nâng cấp lên Mysql 5.7 2015-04-20

Cấu hình xác thực bằng ssh-key trên server Linux 2014-10-20