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:
- CentOS 7 với user không phải là root, có quyền
sudo
. Bạn có thể tìm hiểu thêm về cách cài đặt user có quyền này trong hướng dẫn Cài đặt server ban đầu với CentOS 7 .
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:
- 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
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:
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
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.
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
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:
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 đăng nhập với ssh và key authentication trên Ubuntu 16.4 2016-04-21
Cài đặt Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 16.04 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