Cách cài đặt MySQL trên Ubuntu 20.04 [Quickstart]
MySQL là một hệ quản trị database open-souce , thường được cài đặt như một phần của ngăn xếp LAMP (Linux, Apache, MySQL, PHP / Python / Perl) phổ biến. Nó triển khai mô hình quan hệ và sử dụng Ngôn ngữ truy vấn có cấu trúc (hay còn gọi là SQL) để quản lý dữ liệu của nó.Hướng dẫn bắt đầu nhanh này sẽ giải thích cách cài đặt MySQL version 8.0 trên server Ubuntu 20.04.
Yêu cầu
Để làm theo hướng dẫn này, bạn cần :
- Một server Ubuntu 20.04 với admin-user không phải root và firewall được cấu hình bằng UFW. Để cài đặt , hãy làm theo hướng dẫn cài đặt server ban đầu của ta cho Ubuntu 20.04 .
Bước 1 - Cài đặt MySQL
Để cài đặt MySQL, trước tiên hãy cập nhật index gói của server nếu gần đây bạn chưa thực hiện:
- sudo apt update
Sau đó cài đặt gói mysql-server
:
- sudo apt install mysql-server
Bước 2 - Cấu hình MySQL
Chạy tập lệnh bảo mật đi kèm của MySQL với sudo
:
- sudo mysql_secure_installation
Điều này sẽ đưa bạn qua một loạt dấu nhắc mà bạn có thể thực hiện một số thay đổi đối với các tùy chọn bảo mật của cài đặt MySQL của bạn . Dấu nhắc đầu tiên sẽ hỏi bạn có muốn cài đặt Trình cắm password xác thực, được dùng để kiểm tra độ mạnh của password MySQL của bạn hay không.
Nếu bạn chọn cài đặt Plugin xác thực password , tập lệnh sẽ yêu cầu bạn chọn mức xác thực password , với mức yếu nhất là 0
và mức mạnh nhất là 2
:
OutputSecuring 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: 2
Dấu nhắc tiếp theo sẽ là nhập và xác nhận password cho user gốc MySQL:
OutputPlease set the password for root here. New password: Re-enter new password:
Sau đó, tập lệnh sẽ hỏi bạn có muốn tiếp tục với password vừa nhập hay bạn muốn nhập password mới. Nếu bạn hài lòng với password của bạn , hãy nhập Y
để tiếp tục tập lệnh:
OutputEstimated 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
Từ đó, bạn có thể nhấn Y
rồi ENTER
để chấp nhận giá trị mặc định cho tất cả các câu hỏi tiếp theo.
Bước 3 - Tạo User MySQL Chuyên dụng và Cấp các Đặc quyền
Sau khi cài đặt, MySQL tạo một account user gốc quyền mà bạn có thể sử dụng để quản lý database của bạn , mặc dù vậy tốt nhất bạn nên tránh sử dụng account này bên ngoài các chức năng quản trị. Bước này phác thảo cách sử dụng user MySQL gốc để tạo account user mới và cấp quyền cho account đó.
Kết nối với database với quyền là user MySQL gốc :
- sudo mysql
Lưu ý: Nếu bạn cài đặt MySQL với một hướng dẫn và cho phép xác thực password cho thư mục root , bạn cần phải sử dụng lệnh sau đây để truy cập vào vỏ MySQL:
- mysql -u root -p
Khi bạn có quyền truy cập vào dấu nhắc MySQL, bạn có thể tạo user mới bằng câu CREATE USER
. Chúng tuân theo cú pháp chung sau:
- CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
Bạn có một số tùy chọn khi chọn plugin xác thực user của bạn . Plugin auth_socket
được đề cập trước đây có thể tiện lợi vì nó cung cấp khả năng bảo mật mạnh mẽ mà không yêu cầu user hợp lệ nhập password để truy cập database . Nhưng nó cũng ngăn chặn các kết nối từ xa, điều này có thể làm phức tạp thêm khi các chương trình bên ngoài cần tương tác với MySQL.
Thay vào đó, bạn có thể loại bỏ hoàn toàn phần WITH authentication plugin
của cú pháp để user xác thực với plugin mặc định của MySQL, caching_sha2_password
. Ocmmand sau tạo user xác thực bằng caching_sha2_password
. Đảm bảo thay đổi sammy
thành tên user và password
bạn muốn thành một password mạnh mà bạn chọn:
- CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
Lưu ý : Có một sự cố đã biết với một số version PHP gây ra sự cố với caching_sha2_password
. Nếu bạn định sử dụng database này với một ứng dụng PHP - ví dụ: phpMyAdmin - bạn có thể cần tạo một user sẽ xác thực với plugin mysql_native_password
cũ hơn, mặc dù vẫn an toàn, thay vào đó:
- CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Nếu bạn không chắc chắn, bạn luôn có thể tạo user xác thực bằng caching_sha2_plugin
và sau đó ALTER
nó sau này bằng lệnh này:
- ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Sau khi tạo user mới, bạn có thể cấp cho họ các quyền thích hợp.
Để minh họa, lệnh sau đây cấp cho user các quyền global để CREATE
, ALTER
và DROP
database , bảng và user , cũng như quyền INSERT
, UPDATE
và DELETE
dữ liệu từ bất kỳ bảng nào trên server . Nó cũng cấp cho user khả năng truy vấn dữ liệu với SELECT
. Chạy câu lệnh GRANT
này, thay thế sammy
bằng tên user MySQL của bạn , để cấp các quyền này cho user của bạn:
- GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'sammy'@'localhost' WITH GRANT OPTION;
Cảnh báo : Một số user có thể cần cấp cho user MySQL của họ quyền ALL PRIVILEGES
, điều này sẽ cung cấp cho họ các quyền siêu user rộng rãi tương tự như quyền của user root , như vậy:
- GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;
Không nên cấp nhẹ các quyền rộng rãi như vậy, vì bất kỳ ai có quyền truy cập vào user MySQL này sẽ có toàn quyền kiểm soát mọi database trên server .
Sau đây, bạn nên chạy lệnh FLUSH PRIVILEGES
:
- FLUSH PRIVILEGES;
Sau đó, bạn có thể thoát khỏi client MySQL:
- exit
Trong tương lai, để đăng nhập với quyền là user MySQL mới của bạn, bạn sẽ sử dụng một lệnh như sau:
- mysql -u sammy -p
Cờ -p
sẽ khiến client MySQL nhắc bạn nhập password user MySQL của bạn để xác thực.
Kết luận
Đến đây bạn đã cài đặt cài đặt MySQL cơ bản trên server của bạn . Dưới đây là một số ví dụ về các bước tiếp theo mà bạn có thể thực hiện:
Các tin liên quan
Cách cài đặt MySQL trên Ubuntu 20.042020-07-30
Cách triển khai Laravel 7 và MySQL trên Kubernetes bằng Helm
2020-06-23
Cách đặt lại mật khẩu gốc MySQL hoặc MariaDB của bạn
2020-05-05
Cách sử dụng Kiểu dữ liệu MySQL BLOB để lưu trữ image bằng PHP trên Ubuntu 18.04
2020-05-05
Cách cài đặt MySQL trên Ubuntu 18.04
2020-04-21
Cách cài đặt MySQL trên CentOS 8
2020-03-18
Cách triển khai phân trang trong MySQL với PHP trên Ubuntu 18.04
2020-01-29
Cách tối ưu hóa truy vấn MySQL với bộ đệm ProxySQL trên Ubuntu 16.04
2019-12-30
Cách cấu hình Cụm Galera với MySQL trên server Ubuntu 18.04
2019-12-16
Cách quản lý và sử dụng trình kích hoạt database MySQL trên Ubuntu 18.04
2019-12-10