Cách cài đặt MySQL 5.7 trên Ubuntu 20.04 LTS

Trong bài viết này, chúng tôi sẽ thực hiện Cách cài đặt MySQL 5.7 trên Ubuntu 20.04 LTS bằng dòng lệnh, tạo người dùng mới và kích hoạt quyền truy cập từ xa.

Giới thiệu

MySQL là hệ quản trị cơ sở dữ liệu quan hệ nguồn mở phổ biến nhất thế giới. Nó được sử dụng rộng rãi với máy chủ web như apache2, Nginx, IIS, v.v.

MySQL có kiến ​​trúc máy khách / máy chủ, hỗ trợ công cụ lưu trữ InnoDB, có thể được cài đặt trên nhiều hệ điều hành khác nhau như Ubuntu, Debian, CentOS, Windows., V.v.

Bước 1: Thêm MySQL APT Repository trong Ubuntu

Ubuntu đi kèm với kho lưu trữ gói mặc định. Vì vậy, nếu chúng ta muốn thêm / cài đặt kho mới nhất thì chúng ta phải thêm / cài đặt kho gói.
  • Cập nhật các gói hệ thống
sudo apt update
  • Cài đặt wget trên ubuntu nếu chưa được cài đặt
sudo apt install wget -y
  • Dưới đây là các lệnh để thêm/tải xuống kho lưu trữ MySQL APT mới nhất bằng dòng lệnh
sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.16-1_all.deb
  • Sau đó, lệnh dưới đây là cài đặt bên trên kho lưu trữ apt đã tải xuống
sudo dpkg -i mysql-apt-config_0.8.16-1_all.deb
  • Chọn tùy chọn Ubuntu Bionic và nhấp vào Ok.
  • Theo mặc định, nó hiển thị MySQL 8.0, Nhấp vào tùy chọn đầu tiên.
  • Chọn máy chủ MySQL 5.7 và nhấp vào OK.
  • Xác nhận rằng hiển thị MySQL 5.7 trên tùy chọn đầu tiên và nhấp vào OK.

Bước 2: Cập nhật Kho lưu trữ MySQL

  • Cập nhật kho lưu trữ apt
sudo apt-get update
  • Tìm kiếm gói MySQL 5.7 bằng MySQL apt cache và chọn 5.7.30-1ubuntu18.04 để cài đặt
sudo apt-cache policy mysql-server
  • Đầu ra:
mysql-server:

Installed: (none)

Candidate: 8.0.22-0ubuntu0.20.04.3

Version table:

8.0.22-0ubuntu0.20.04.3 500

500 http://il.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages

500 http://il.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages

8.0.19-0ubuntu5 500

500 http://il.archive.ubuntu.com/ubuntu focal/main amd64 Packages

5.7.33-1ubuntu18.04 500

500 http://repo.mysql.com/apt/ubuntu bionic/mysql-5.7 amd64 Packages
  • Bây giờ cài đặt MySQL client 5.7.33 như đầu ra được hiển thị ở trên
sudo apt install -f mysql-community-client=5.7.33-1ubuntu18.04

Bước 3: Cách cài đặt MySQL 5.7 trên Ubuntu 20.04 LTS

Lỗi:
The following packages have unmet dependencies:
mysql-community-server : Depends: mysql-client (= 5.7.33-1ubuntu18.04) but it is not going to be installed
E: Unable to correct problems, you have held broken packages. {alertError}

Giải pháp:
sudo apt install -f mysql-client=5.7.33-1ubuntu18.04
Cài đặt MySQL 5.7 trên Ubuntu 20.04 LTS bằng lệnh dưới đây
sudo apt install -f mysql-community-server=5.7.33-1ubuntu18.04
{alertSuccess}
Quá trình cài đặt sẽ nhắc mật khẩu mặc định cho người dùng root và lại cùng một mật khẩu.


  • Cũng cài đặt gói mysql-server = 5.7.33

Bước 4: Cài đặt Secure MySQL

MySQL Server đi kèm với một script mysql_secure_installation, điều này có thể thực hiện nhiều hoạt động liên quan đến bảo mật,

Chạy tập lệnh dưới đây trên dấu nhắc lệnh, hỏi các tùy chọn bên dưới.
$ mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root:

VALIDATE PASSWORD PLUGIN 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 plugin?

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) : No

... skipping.
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.


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.

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
- 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!

Bước 5: Đăng nhập vào MySQL

  • Bây giờ, Đăng nhập vào Máy chủ MySQL 5.7 bằng lệnh dưới đây và sử dụng mật khẩu để đăng nhập đã nhập trong quá trình cài đặt.
mysql -u root -p
  • Đầu ra:
mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.30 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.
  • Bây giờ, Chúng tôi đã giới thiệu thành công Cách cài đặt MySQL 5.7 trên Ubuntu 20.04 LTS.

Bước 6: Tạo người dùng từ xa MySQL

Đầu tiên, Đăng nhập vào MySQL Server với người dùng root bằng dòng lệnh, Dưới đây là lệnh tạo người dùng, ở đây tôi đang tạo người dùng “fosstechnix”.
mysql> CREATE USER 'fosstechnix'@'%' IDENTIFIED BY 'FOSSTechNix@123';
Tiếp theo, gán các đặc quyền cho cơ sở dữ liệu bằng lệnh dưới đây, ở đây tôi đang gán tất cả các đặc quyền cho cơ sở dữ liệu cho người dùng fosstechnix.

Nếu bạn muốn gán các đặc quyền cho cơ sở dữ liệu cụ thể, hãy thay thế ”.” với tên cơ sở dữ liệu.
mysql> GRANT ALL PRIVILEGES ON * . * TO 'fosstechnix'@'%';
Hoặc là nếu bạn muốn cho phép người dùng “fosstechnix” cấp đặc quyền cho người dùng khác.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'fosstechnix'@'%' WITH GRANT OPTION;
Để có hiệu lực, hãy tải lại các đặc quyền bằng lệnh dưới đây
mysql> FLUSH PRIVILEGES;
Thoát khỏi lời nhắc MySQL
mysql> exit

Bước 7: Cách kích hoạt MySQL Remote Access trong Ubuntu 20.04

Theo mặc định, truy cập từ xa trong máy chủ cơ sở dữ liệu MySQL bị vô hiệu hóa vì lý do bảo mật.

Để kích hoạt các kết nối từ xa của MySQL Server, chúng ta phải thay đổi địa chỉ ràng buộc trong tệp cấu hình MySQL.

Mở tệp /etc/mysql/mysql.conf.d/mysqld.cnf
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Bên dưới phần [mysqld] tìm dòng
[mysqld]
bind-address  = 127.0.0.1
Và thay thế nó thành
bind-address = 0.0.0.0
Đầu ra:
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
bind-address = 0.0.0.0
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
Khởi động lại MySQL Server để có hiệu lực.
sudo systemctl restart mysql

Bước 8: Khởi động/Khởi động lại/Dừng Máy chủ MySQL bằng dòng lệnh

Dưới đây là các lệnh để bắt đầu/khởi động lại/dừng MySQL 5.7 trên Ubuntu 20.04 LTS
sudo systemctl start mysql
sudo systemctl restart mysql
sudo systemctl stop mysql
Để kiểm tra trạng thái của dịch vụ mysql trên ubuntu
sudo systemctl status mysql

Phần kết luận:

Trong bài viết này, chúng tôi đã thực hiện Cách cài đặt MySQL 5.7 trên Hệ thống LTS Ubuntu 20.04, tạo người dùng mới và kích hoạt quyền truy cập từ xa.