Cách cài đặt và sử dụng MySQL 8 trên Ubuntu 22.04

theanh

Administrator
Nhân viên
MySQL là một nền tảng quản lý cơ sở dữ liệu quan hệ, mã nguồn mở, miễn phí được hỗ trợ bởi Oracle Cloud. Nó rất phổ biến do độ tin cậy đã được chứng minh, xử lý nhanh, dễ dàng và linh hoạt. Nó sử dụng Ngôn ngữ truy vấn có cấu trúc để thêm, truy cập và quản lý nội dung của cơ sở dữ liệu. MySQL 8.0 lưu trữ siêu dữ liệu của nó vào một công cụ lưu trữ giao dịch đã được chứng minh có tên là InnoDB. Nó hoạt động trên kiến trúc máy khách/máy chủ và có thể được cài đặt trên tất cả các hệ điều hành chính, bao gồm Ubuntu, Windows, CentOS và Debian.

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt MySQL 8 trên máy chủ Ubuntu 22.04.

Điều kiện tiên quyết​

  • Máy chủ chạy Ubuntu 22.04.
  • Mật khẩu gốc được thiết lập trên máy chủ của bạn.

Bắt đầu​

Trước tiên, hãy cập nhật và nâng cấp tất cả các gói hệ thống lên phiên bản mới nhất bằng cách chạy lệnh sau:
Mã:
apt update -y
apt upgrade -y
Sau khi tất cả các gói được cập nhật, bạn có thể tiến hành bước tiếp theo.

Cài đặt MySQL 8 Ubuntu 22.04​

Theo mặc định, phiên bản mới nhất của máy chủ MySQL được bao gồm trong kho lưu trữ mặc định của Ubuntu. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt install mysql-server -y
Sau khi máy chủ MySQL được cài đặt, bạn có thể xác minh phiên bản MySQL bằng lệnh sau:
Mã:
mysql --version
Bạn sẽ thấy phiên bản MySQL trong đầu ra:
Mã:
mysql Ver 8.0.30-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
Sau khi tất cả các gói được cập nhật, bạn có thể tiến hành bước tiếp theo.

Quản lý dịch vụ MySQL​

Theo mặc định, dịch vụ MySQL được quản lý bởi systemd. Bạn có thể dễ dàng khởi động, dừng và xác minh trạng thái của MySQL bằng lệnh systemctl.

Để khởi động dịch vụ MySQL, hãy chạy lệnh sau:
Mã:
systemctl start mysql
Để dừng dịch vụ MySQL, hãy chạy lệnh sau:
Mã:
systemctl stop mysql
Bạn có thể xác minh trạng thái của dịch vụ MySQL bằng lệnh sau lệnh:
Mã:
systemctl status mysql
Bạn sẽ thấy kết quả sau:
Mã:
? mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2022-08-21 12:47:24 UTC; 28s ago Process: 26157 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS) Main PID: 26185 (mysqld) Status: "Server is operational" Tasks: 41 (limit: 2242) Memory: 359.8M CPU: 1.383s CGroup: /system.slice/mysql.service ??26185 /usr/sbin/mysqld
Aug 21 12:47:23 ubuntu2204 systemd[1]: Starting MySQL Community Server...
Aug 21 12:47:24 ubuntu2204 systemd[1]: Started MySQL Community Server.
Theo mặc định, MySQL lắng nghe trên cổng 3306. Bạn có thể kiểm tra bằng lệnh sau lệnh:
Mã:
ss -antpl | grep -i mysql
Bạn sẽ thấy cổng lắng nghe MySQL trong đầu ra sau:
Mã:
LISTEN 0 70 127.0.0.1:33060 0.0.0.0:* users:(("mysqld",pid=26185,fd=21))
LISTEN 0 151 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=26185,fd=23))
Sau khi tất cả các gói được cập nhật, bạn có thể tiến hành bước tiếp theo.

Cài đặt MySQL an toàn​

Tiếp theo, bạn nên chạy Tập lệnh mysql_secure_installation để kích hoạt một số tính năng bảo mật bổ sung bao gồm, đặt mật khẩu gốc MySQL mới, xóa người dùng ẩn danh và vô hiệu hóa đăng nhập từ xa.
Mã:
mysql_secure_installation
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
Mã:
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: 0
Please set the password for root here.
Bạn sẽ được yêu cầu đặt mật khẩu mới như hiển thị bên dưới:
Mã:
New password:
Re-enter new password:
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
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.
Nhập Y và nhấn phím Enter để xóa người dùng ẩn danh.
Mã:
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.
Nhập Y và nhấn phím Enter để không cho phép root từ xa đăng nhập.
Mã:
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Nhập Y và nhấn phím Enter để xóa cơ sở dữ liệu thử nghiệm.
Mã:
- Dropping test database...
Success. - Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Đặt mật khẩu gốc MySQL​

Theo mặc định, mật khẩu gốc MySQL không được đặt. Để thiết lập, hãy kết nối với shell MySQL:
Mã:
mysql
Sau khi kết nối với shell MySQL, hãy thiết lập mật khẩu MySQL bằng lệnh sau:
Mã:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'securepassword';
Tiếp theo, hãy chạy lệnh sau để lưu thay đổi:
Mã:
mysql> FLUSH PRIVILEGES;
Tiếp theo, thoát khỏi shell MySQL bằng lệnh sau:
Mã:
mysql> EXIT;
Tiếp theo, đăng nhập lại vào shell MySQL để xác minh root mật khẩu:
Mã:
mysql -u root -p
Sau khi đăng nhập, bạn sẽ vào được shell MySQL như hình dưới đây:
Mã:
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.30-0ubuntu0.22.04.1 (Ubuntu)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
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>
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Tạo cơ sở dữ liệu và người dùng trong MySQL​

Hãy tạo cơ sở dữ liệu được đặt tên là db1 bằng lệnh sau:
Mã:
mysql> CREATE DATABASE db1;
Bạn có thể xác minh cơ sở dữ liệu đã tạo của mình bằng lệnh sau:
Mã:
mysql> SHOW databases;
Bạn sẽ nhận được thông tin sau đầu ra:
Mã:
+--------------------+
| Database |
+--------------------+
| db1 |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
Để thay đổi cơ sở dữ liệu thành db1, hãy chạy lệnh sau:
Mã:
mysql> USE db1;
Để tạo người dùng có tên là dbuser, hãy chạy lệnh sau lệnh:
Mã:
mysql> CREATE USER 'dbuser'@'%' IDENTIFIED BY 'password';
Để cấp tất cả các quyền cho dbuser trên tất cả các cơ sở dữ liệu, hãy chạy lệnh sau:
Mã:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'%' WITH GRANT OPTION;
Để lưu các thay đổi, hãy chạy lệnh sau lệnh:
Mã:
mysql> FLUSH PRIVILEGES;
Bạn có thể thoát khỏi shell MySQL bằng lệnh sau:
Mã:
mysql> EXIT;
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Gỡ cài đặt MySQL Server​

Nếu bạn muốn xóa máy chủ MySQL khỏi máy chủ của mình, hãy chạy lệnh sau lệnh:
Mã:
apt remove mysql-server --purge
Tiếp theo, xóa tất cả các gói không mong muốn bằng lệnh sau:
Mã:
apt autoremove

Kết luận​

Trong bài đăng này, bạn đã học cách cài đặt MySQL 8 trên Ubuntu 22.04. Bạn cũng đã học cách quản lý dịch vụ MySQL và tạo cơ sở dữ liệu và người dùng. Bây giờ bạn có thể bắt đầu tạo cơ sở dữ liệu và người dùng cơ sở dữ liệu mới trong MySQL.
 
Back
Bên trên