MySQL là một trong những hệ quản trị cơ sở dữ liệu mã nguồn mở rất phổ biến trên hệ thống linux và các nền tảng khác, trong bài hướng dẫn này MZE sẽ hướng dẫn bạn, làm thế nào để cài đặt MySQL 8.x trên Ubuntu 18.04

Có thể bạn quan tâm :

Bài viết này sẽ hướng dẫn bạn cài MySQL 8.0.19 trên Ubuntu 18.04 LTS, để cài đặt bạn cần thực hiện các bước sau đây

Cập nhật lại hệ thống

sudo apt update

Cài đặt và cấu Hình MySQL repository

1. Thiết lập MySQL repository

Bạn có thể tải về trực tiếp hoặc sử dụng lệnh để tải về gói cài đặt, tải MySQL repository tại https://dev.mysql.com/downloads/repo/apt/ (chú ý ở đây MZE sẽ tải về gói cài đặt mysql-apt-config_0.8.15-1_all.deb)

wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb

Gói mysql-apt-config_0.8.15-1_all.deb sẽ được lưu tại vị trí thư mục bạn đang truy cập, ví dụ như của MZE sẽ ở thư mục /root/mysql-apt-config_0.8.15-1_all.deb

Output :

--2020-04-09 18:21:15-- https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
Resolving dev.mysql.com (dev.mysql.com)... 137.254.60.11
Connecting to dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://repo.mysql.com//mysql-apt-config_0.8.15-1_all.deb [following]--2020-04-09 18:21:17-- https://repo.mysql.com//mysql-apt-config_0.8.15-1_all.deb
Resolving repo.mysql.com (repo.mysql.com)... 23.51.209.162
Connecting to repo.mysql.com (repo.mysql.com)|23.51.209.162|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 35532 (35K) [application/x-debian-package]Saving to: ‘mysql-apt-config_0.8.15-1_all.deb’

mysql-apt-config_0.8.15- 100%[==================================>] 34.70K --.-KB/s in 0.07s

2020-04-09 18:21:17 (485 KB/s) - ‘mysql-apt-config_0.8.15-1_all.deb’ saved [35532/35532]

Sau khi tải gói cài đặt hoàn tất, chúng ta sử dụng lệnh dpkg để cài đặt gói vừa tải về

sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb

Sau khi bạn sử dụng dòng lệnh trên, sẽ xuất hiện hộp thoại cấu hình gói cài đặt (Package configuration), sử dụng phím mũi tên lên xuống để chọn OK theo hình, nhấn Tab để chuyển sang OK chọn để tiếp tục

cai-dat-va-cau-hinh-mysql-8-tren-ubuntu-18-04-h1
Cài đặt Và Cấu Hình MySQL 8 Trên Ubuntu 18.04-h1

2. Cập nhật hệ thống sau khi thêm repo

sudo apt update

Sau khi đã update lại hệ thống, để đảm bảo chúng ta đã add thành công repo và đã có gói cài đặt MySQL 8 trên Ubuntu, chúng ta sẽ sử dụng lệnh apt-cache show để kiểm tra gói MySQL 8 đã có chưa bằng lệnh

sudo apt-cache show mysql-community-server
cai-dat-va-cau-hinh-mysql-8-tren-ubuntu-18-04-h2
Cài đặt Và Cấu Hình MySQL 8 Trên Ubuntu 18.04-h2

3. Cài đặt MySQL 8.0.19 trên Ubuntu

Sau khi thiết lập xong MySQL repo, để cài đặt MySQL 8.x trên Ubuntu 18.04, chúng ta sử dụng lệnh sau để thực hiện

sudo apt install mysql-community-server -y

Khi chạy dòng lệnh trên sẽ xuất hiện hộp thoại yêu cầu chúng ta nhập mật khẩu cho người dùng root, bạn sẽ cần nhập 2 lần thông tin mật khẩu bao gồm xác nhận lại mật khẩu sau khi nhập

cai-dat-va-cau-hinh-mysql-8-tren-ubuntu-18-04-h3
Cài-đặt-Và-Cấu-Hình-MySQL-8-Trên-Ubuntu-18.04-h3

Re-enter password, nhập mật khẩu lần nữa để xác nhận

cai-dat-va-cau-hinh-mysql-8-tren-ubuntu-18-04-h4
Cài đặt Và Cấu Hình MySQL 8 Trên Ubuntu 18.04-h4

Sau khi nhập xong root password, bạn sẽ được thông báo lựa chọn phương thức xác thực, dùng phím mũi tên để chon “Use Strong Password Encryption (RECOMMEND)”, nhấn tab chọn <OK> để tiếp tục cài đặt

cai-dat-va-cau-hinh-mysql-8-tren-ubuntu-18-04-h5
cai-dat-va-cau-hinh-mysql-8-tren-ubuntu-18-04-h5

Chờ quá trình cài đặt hoàn tất, để kiểm tra phiên bản cài đặt chúng ta sử dụng lệnh sudo mysql -V

mysql -V
mysql Ver 8.0.19 for Linux on x86_64 (MySQL Community Server - GPL)

4. Khởi động và bật khởi động MySQL cùng hệ thống

Để khởi động MySQL khởi động, chúng ta sử dụng lệnh

sudo systemctl start mysql

Cho phép MySQL khởi động cùng hệ thống (mặc định sau khi cài MySQL đã khởi động cùng hệ thống)

sudo systemctl enable mysql

Kiểm tra trạng thái hoạt động MySQL

sudo systemctl status mysql

Thử đăng nhập MySQL bằng tài khoản root và mật khẩu vừa tạo khi cài đặt bằng lệnh sudo mysql -u root -p hoặc nhập luôn mật khẩu sudo mysql -uroot -pYour_Password

mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 10
Server version: 8.0.19 MySQL Community Server - GPL

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.

mysql>

Xem thêm Các Câu Lệnh MySQL Thường Dùng Trong Linux Server để thực hiện các thao tác cơ bản trong MySQL

Tới đây là bạn đã cài đặt xong MySQL 8.0.19 trên Ubuntu 18.04 LTS, để có thể bảo mật và an toàn hơn, hãy xem thêm các phần bên dưới để cấu hình MySQL

Cấu hình bảo mật cho MySQL sau cài đặt

Để tăng bảo mật và an toàn hơn, chúng ta cần thiết lập một số thao tác sau khi cài đặt MySQL như :

  • Disallow root login remotely
  • Remove test database
  • Remove anonymous users

Để cấu hình bảo mật, chúng ta sẽ sử dụng câu lệnh sau

mysql_secure_installation

Các dòng nhắc bên dưới sẽ giúp bạn thực hiện một số thay đổi trong MySQL

  • Remove anonymous users? (nhấn y)
  • Disallow root login remotely? (nhấn y)
  • Remove test database and access to it? (nhấn y)
  • Reload privilege tables now? (nhấn y)
Securing the MySQL server deployment.

Enter password for user root: nhập mật khẩu hiện tại của tài khoản root trong MySQL

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: 1
Using existing password for root.

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

New password:

Re-enter new password:

Estimated strength of the password: 50
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
... Failed! Error: Your password does not satisfy the current policy requirements --> dòng này do MZE đặt mật khẩu không an toàn với chính sách hiện tại nên sẽ xuất hiện lỗi này, hãy đặt mật khẩu khác

New password:

Re-enter new password:

Dự kiến độ mạnh của mật khẩu
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.

Xóa người dùng nặc danh?
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Vô hiệu đăng nhập từ xa tài khoản Root
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

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.

Xóa cơ sở dữ liệu kiểm tra và truy cập, cơ sở dữ liệu này tự động sinh ra khi cài đặt MySQL
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- 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.

Tải lại các bảng đặc quyền
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

Trong đó bạn cần lưu ý :

Từ phiên bản MySQL 8.x, Oracle đã thay đổi cơ chế mã hóa mật khẩu (password) chuyển từ mysql_native_password sang cơ chế caching_sha2_passwordvẫn sử dụng hàm băm SHA-256 nhưng sử dụng bộ nhớ cache để giải quyết vấn đề. Để chuyển tài khoản root sang mã hóa kiểu mysql_native_passwordchúng ta sẽ sử dụng câu lệnh Alter như sau :

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Your_Password';

Lưu ý thêm :

  • Enter password for user root : nhập mật khẩu root hiện tại khi cài đặt MySQL, nếu bạn chưa đặt mật khẩu ở bước cài đặt nhấn Enter để tiếp tục (lưu ý mật khẩu root ở đây là mật khẩu trong MySQL, khác mật khẩu root của hệ thống)
  • VALIDATE PASSWORD COMPONENT : một phần tích hợp để kiểm tra mức độ an toàn khi chúng ta đặt mật khẩu, để sử dụng chức năng này chọn “y” hoặc sử dụng phím bất kỳ để bỏ qua nó, trường hợp sau khi chọn “y”, bạn sẽ có 3 tùy chọn (LOW, MEDIUM, STRONG) để lựa chọn phương thức đặt mật khẩu, hãy chọn chính sách mật khẩu phù hợp với bạn, Enter để xác nhận.
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: 1

Các dòng nhắc còn lại bạn có thể xem MZE đã ghi chú bên trong block ở trên, phần chữ màu đỏ, nếu muốn bỏ qua dòng nhắc lệnh nào bạn có thể sử dụng phím bất kỳ để bỏ qua

Cấu hình Firewall cho MySQL

Để kết nối MySQL từ xa, bạn cần mở Port MySQL truy cập bằng các dòng lệnh

sudo ufw allow mysql

Reload lại firewall

sudo ufw reload

Kết luận

Tới đây là bạn đã có thể cài đặt MySQL 8.x trên Ubuntu thông qua MySQL repo được tải về server và cài đặt từ file *.deb, để có thể cài đặt thành công, bạn cần theo dõi từng bước thực hiện nhằm tránh sai sót lỗi hệ thống…Nếu bạn gặp vấn đề trục trặc không thể thực hiện được, hãy comment bên dưới

Nếu bài viết có ích hãy LikeShare, và đừng quên đánh giá bài viết bên dưới nhé.

Nguồn MzEngineer.com

LEAVE A REPLY

Please enter your comment!
Please enter your name here