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.
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.
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:
Bạn sẽ thấy phiên bản MySQL trong đầu ra:
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.
Để khởi động dịch vụ MySQL, hãy chạy lệnh sau:
Để dừng dịch vụ MySQL, hãy chạy lệnh sau:
Bạn có thể xác minh trạng thái của dịch vụ MySQL bằng lệnh sau lệnh:
Bạn sẽ thấy kết quả sau:
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:
Bạn sẽ thấy cổng lắng nghe MySQL trong đầu ra sau:
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.
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
Bạn sẽ được yêu cầu đặt mật khẩu mới như hiển thị bên dưới:
Nhập Y và nhấn phím Enter để xóa người dùng ẩn danh.
Nhập Y và nhấn phím Enter để không cho phép root từ xa đăng nhập.
Nhập Y và nhấn phím Enter để xóa cơ sở dữ liệu thử nghiệm.
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
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:
Tiếp theo, hãy chạy lệnh sau để lưu thay đổi:
Tiếp theo, thoát khỏi shell MySQL bằng lệnh sau:
Tiếp theo, đăng nhập lại vào shell MySQL để xác minh root mật khẩu:
Sau khi đăng nhập, bạn sẽ vào được shell MySQL như hình dưới đây:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Bạn có thể xác minh cơ sở dữ liệu đã tạo của mình bằng lệnh sau:
Bạn sẽ nhận được thông tin sau đầu ra:
Để thay đổi cơ sở dữ liệu thành db1, hãy chạy lệnh sau:
Để tạo người dùng có tên là dbuser, hãy chạy lệnh sau lệnh:
Để 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:
Để lưu các thay đổi, hãy chạy lệnh sau lệnh:
Bạn có thể thoát khỏi shell MySQL bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tiếp theo, xóa tất cả các gói không mong muốn bằng lệnh sau:
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
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
Mã:
mysql --version
Mã:
mysql Ver 8.0.30-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
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
Mã:
systemctl stop mysql
Mã:
systemctl status mysql
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.
Mã:
ss -antpl | grep -i mysql
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))
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
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.
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.
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.
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
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!
Đặ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
Mã:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'securepassword';
Mã:
mysql> FLUSH PRIVILEGES;
Mã:
mysql> EXIT;
Mã:
mysql -u root -p
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>
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;
Mã:
mysql> SHOW databases;
Mã:
+--------------------+
| Database |
+--------------------+
| db1 |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
Mã:
mysql> USE db1;
Mã:
mysql> CREATE USER 'dbuser'@'%' IDENTIFIED BY 'password';
Mã:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'%' WITH GRANT OPTION;
Mã:
mysql> FLUSH PRIVILEGES;
Mã:
mysql> EXIT;
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
Mã:
apt autoremove