Hướng dẫn cài MySQL trong CentOS 7 – cách install và cấu hình MySQL

Hướng dẫn cài MySQL trong CentOS 7 – cách install và cấu hình MySQL

MySQL là một trong số các hệ thống quản lý cơ sở dữ liệu lớn nhất trên thế giới về mảng ứng dụng website/server. Nó giúp lưu trữ thông tin dữ liệu và quản lý chúng bằng lệnh SQL trên nhiều nền tảng khác nhau. Với bài này, chúng tôi sẽ hướng dẫn cài MySQL trong CentOS 7  bằng dòng lệnh qua kết nối SSH trên server CentOS 7.

Hướng dẫn cài MySQL trên server CentOS 7

Có 3 bước cần làm khi bạn muốn cài MySQL – tải MySQL repository, cài đặt, và kiểm tra tình trạng. Chúng tôi sẽ đi qua từng bước một cách thật chi tiết cho bạn.

1. Tải và chuẩn bị MySQL repository

Trước khi bắt đầu tìm hiểu cách install MySQL lên CentOS 7, hãy chắc rằng VPS host hay dedicated server của bạn vận hành CentOS 7 và bạn đã có quyền root. Bạn có thể học cách kết nối qua SSH trong bài hướng dẫn này của chúng tôi.

Để bắt đầu, bạn nên kết nối tới server của bạn qua SSH và chuẩn bị các lệnh bên dưới để dùng trong command line.

  1. Đầu tiên, bạn cần kiểm tra xem hệ thống có được cập nhật chưa và cập nhật nếu cần. Gõ lệnh sau:
    sudo yum update
  2. Đợi hệ thống cập nhật. Sau đó hãy cài MySQL  repositories. Các phiên bản khác có thể tìm thấy tại đây:
     wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
  3. Sau khi tải xong,  bạn sẽ thấy là file .rpm đã được lưu lại.
    Tải MySQL 8 trên CentOS 7.
  4. Giờ bạn đã có thể prepare repository rồi cài đặt MySQL packages từ nó. Hãy gõ lệnh:
    sudo rpm -Uvh mysql57-community-release-el7-9.noarch.rpm

     

  5. Khi bạn thấy nó đạt tới 100%, bạn sẽ có thể bắt đầu install MySQL CentOS 7.

2. Install MySQL – Hướng dẫn cài MySQL trên server

  1. Giờ bạn đã có thể cài đặt MySQL ngay bằng dòng lệnh yum install:
    sudo yum install mysql-server
  2. Danh sách file cài sẽ được đưa ra và bạn có sẽ nhận được thông báo xác nhận để tải chúng. Gõ y rồi nhấn ENTER.
    Install MySQL on CentOS 7.
  3. Khi đã hoàn tất tải file, bạn sẽ nhận được thông báo xác nhận cài đặt. Bạn cũng cần nhấn y vài lần là hoàn tất. Nếu bạn thấy chữ Complete! ở cuối trang có nghĩa là MySQL đã được cài đặt thành công trên server.

3 — Khởi động MySQL và kiểm tra xem nó có hoạt động không

  1. MySQL chưa được khởi động sau khi install MySQL trên CentOS 7, nên bạn cần khởi động với lệnh sau:
    sudo systemctl start mysqld
  2. Bạn sẽ không nhận được phản hồi về việc MySQL khởi động, để kiểm tra hãy gõ lệnh sau:
    sudo systemctl status mysqld

    Kết quả về tình trạng MySQL sẽ được hiện như sau:
    kiểm tra tình trạng MySQL trong Linux CentOS

Nếu bạn nhìn thấy MySQL active và chạy như hình bên trên, nghĩa là bạn đã cài đặt thành công MySQL và đã khởi động được MySQL trên server.

Làm thế nào để cấu hình MySQL?

Giờ bạn đã hiểu rõ cách install MySQL thông qua hướng dẫn cách cài MySQL. Giờ, chúng tôi sẽ chỉ bạn dùng một số lệnh hữu dụng và tùy chỉnh bạn cần biết khi làm việc với MySQL.

Đổi mật khẩu MySQL root user

Khi cài MySQL CentOS 7, một mật khẩu tạm cho root được tạo ra. Nhập lệnh sau để thấy nó:

sudo grep 'password' /var/log/mysqld.log

Để thay đổi mật khẩu root MySQL, làm theo các bước sau:

  1. Đầu tiên, chạy lệnh:
    sudo mysql_secure_installation
  2. Nhập mật khẩu tạm và điền mật khẩu tạm, màn hình sau sẽ hiện lên:
    The existing password for the user account root has expired. Please set a new password.
    New password:
    Re-enter new password:
  3. Giờ, nhập mật khẩu mạnh

    Pro Tip: Mật khẩu mạnh là 8-12 ký tự, bao gồm số, ký tự đặc biệt, in hoa, in thường.

  4. Làm theo các bước trên màn hình và nhấn y để hoàn tất cài đặt. Bạn đã đổi thành công mật khẩu root user.

Kiểm tra phiên bản MySQL hiện hành

Khi bạn đã cài MySQL lên CentOS 7, bạn có thể kiểm thử nó được cài chưa bằng cách check phiên bản. Gõ lệnh sau:

mysql -u root -p

Điền mật khẩu root bạn đã tạo, kết quả sẽ hiện ra như bên dưới:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 8.0.20

Copyright (c) 2000, 2020, 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.

Đặt lại MySQL Root Password

Nếu bạn muốn reset password, tiến trình này rất rõ ràng. Bạn chỉ cần làm các bước bên dưới để đổi MySQL root password:

  1. Dừng MySQL server bằng lệnh sau:
    sudo systemctl stop mysqld
  2. Restart MySQL trong safe mode, hoặc không cần dùng mật khẩu bằng cách dùng lệnh:
    sudo mysqld_safe --skip-grant-tables
  3. Nhấn ENTER nếu MySQL server đã bắt đầu nhưng dường như bị treo.
  4. Gõ lệnh sau để kết nối tới MySQL dưới user root:
    mysql -uroot
  5. Để đổi mật khẩu root, nhập lệnh sau:
    USE MYSQL;
    UPDATE USER SET PASSWORD=PASSWORD(“newpassword”) WHERE USER=’root’;
    FLUSH PRIVILEGES;
    EXIT
  6. Thay thế newpassword với mật khẩu mạnh của riêng bạn.
  7. Cuối cùng, khởi động lại MySQL bằng lệnh;
    sudo systemctl start mysqld
  8. Bạn có thể đăng nhập vào MySQL bằng mật khẩu mới.

Tạo mới MySQL User, Database

Là user root trong MySQL, bạn có toàn quyền truy cập vào mọi database.

Tuy nhiên, nếu bạn làm việc trong một nhóm, có nhiều trường hợp bạn cần áp dụng hạn chế. Bạn sẽ cần tạo database mới hoặc user mới với phân quyền đặc biệt.

Đây là cách tạo database, user MySQL mới:

  1. Sử dụng lệnh sau để tạo mới database:
    CREATE DATABASE newdb
  2. Đổi newdb bằng tên database của bạn.
  3. Tạo user mới bằng cách gõ vào dòng sau:
    CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'
  4. Đổi biến cho cả usernamepassword để tạo user mới.
  5. Nếu bạnm muốn xóa một user nhất định, dùng lệnh sau:
    DROP USER ‘username’@‘localhost’

Quản lý MySQL User Permissions (quyền thao tác của MySQL user)

Gán quyền truy cập vào database cho user mới bằng lệnh sau:

GRANT ALL PRIVILEGES ON newdb.* TO 'username'@'localhost'

Bạn cũng có thể gán từng quyền riêng biệt, bao gồm:

  • SELECT – user có quyền đọc (read) database bằng lệnh select
  • CREATE – họ có thể tạo bảng mới
  • DROP – cho phép người dùng xóa bảng
  • DELETE – users có thể xóa dòng khỏi bảng
  • INSERT – giúp user thêm dòng vào bảng
  • UPDATE – giúp cập nhật dòng
  • GRANT OPTION – có thể gán hoặc xóa quyền của user khác

Ví dụ, để gán quyền CREATE, bạn sẽ cần gõ:

GRANT CREATE ON newdb.* TO 'username'@'localhost'

Mặt khác, nếu bạn muốn xóa quyền truy cập của ai đó, sử dụng lệnh sau:

REVOKE permission_type ON newdb.* TO 'username'@'localhost'

Bạn cugn4 có thể kiểm tra quyền user có là gì:

SHOW GRANTS username

Cuối cùng, khi bạn đã quản lý user xong, hãy flush privileges để áp dụng thay đổi:

FLUSH PRIVILEGES

Những lệnh MySQL hữu dụng khác

MySQL cũng có danh sách command hữu dụng. Bạn chỉ cần gõ \h hoặc help để xem bảng bên dưới:

List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
?         (\?) Synonym for `help'.
clear     (\c) Clear command.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter.
edit      (\e) Edit command with $EDITOR.
ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.
go        (\g) Send command to mysql server.
help      (\h) Display this help.
nopager   (\n) Disable pager, print to stdout.
notee     (\t) Don't write into outfile.
pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print     (\p) Print current command.
prompt    (\R) Change your mysql prompt.
quit      (\q) Quit mysql.
rehash    (\#) Rebuild completion hash.
source    (\.) Execute an SQL script file. Takes a file name as an argument.
status    (\s) Get status information from the server.
system    (\!) Execute a system shell command.
tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
use       (\u) Use another database. Takes database name as argument.
charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings  (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.

For server side help, type 'help contents'
mysql>

Lời kết

Chúng tôi đã chỉ bạn cách install MySQL trên CentOS 7. Từ giờ bạn có thể lưu trữ database trên đó để quản lý chúng với một hệ thống quản trị cơ sở dữ liệu mạnh mẽ nhất.

Đừng quyên chọn VPS để sử dụng hoặc để lại bình luận nếu bạn có thắc mắc gì với bài hướng dẫn cài MySQL này nhé.

Author
Tác giả

Hai G.

Hải G. là chuyên gia quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress và đã dùng nó hơn 5 năm nay. Sở thích của anh là đọc, viết blog, đi du lịch và tư vấn cho các bạn trẻ khởi nghiệp.