Bạn là quản trị viên cơ sở dữ liệu gạch chéo hệ thống và cần xây dựng hệ thống quản lý cơ sở dữ liệu [DBMS] cho một dự án mới. Nếu bạn chọn cài đặt MySQL trên Ubuntu, thì bạn thật may mắn. MySQL nhanh, đáng tin cậy, linh hoạt và miễn phí — một lựa chọn tốt
Hướng dẫn này sẽ hướng dẫn bạn cài đặt máy chủ MySQL trên Ubuntu, làm cho nó an toàn và tạo một người dùng chuyên dụng với các quyền hạn chế để tránh lộ tài khoản root. Cuối cùng, bạn sẽ xây dựng một máy chủ MySQL mà bạn có thể sử dụng trong dự án của mình để lưu trữ cơ sở dữ liệu
Mục lục
- điều kiện tiên quyết
- Cài đặt MySQL trên Ubuntu [Từ Kho lưu trữ]
- Cài đặt MySQL từ Kho lưu trữ chính thức
- Bảo mật máy chủ MySQL của bạn
- Tạo người dùng MySQL mới và cấp quyền hạn chế
- Kiểm tra máy chủ MySQL của bạn
- Sự kết luận
điều kiện tiên quyết
Hướng dẫn này sẽ là một cuộc biểu tình thực hành. Nếu bạn muốn làm theo, hãy chắc chắn rằng bạn có Ubuntu Server 20. 04 trở lên với tài khoản người dùng không phải root có đặc quyền sudo
Có liên quan. Cách cài đặt Ubuntu 20. 04 [Từng bước]
Cài đặt MySQL trên Ubuntu [Từ Kho lưu trữ]
Kho lưu trữ gói APT của Ubuntu bao gồm gói MySQL theo mặc định, thuận tiện cho việc cài đặt MySQL Ubuntu trong một lệnh duy nhất
GHI CHÚ. Kho lưu trữ APT mặc định của Ubuntu có thể không phải lúc nào cũng có phiên bản MySQL mới nhất
Để cài đặt MySQL Ubuntu, hãy tiến hành như sau
1. Mở ứng dụng khách SSH ưa thích của bạn và đăng nhập vào máy chủ Ubuntu của bạn
2. Đảm bảo rằng danh sách gói của bạn là gần đây bằng cách chạy lệnh bên dưới. Lệnh này cập nhật danh sách các gói có sẵn trong kho lưu trữ gói APT
sudo apt update -y
3. Bây giờ, hãy cài đặt gói
sudo apt install mysql-server -y
9 bằng cách thực hiện lệnh sau. Đợi quá trình cài đặt kết thúcsudo apt install mysql-server -y
Như bạn có thể thấy bên dưới, phiên bản MySQL mới nhất từ kho lưu trữ APT là 8. 0. 28
Có liên quan. Tìm hiểu Ubuntu Apt Thông qua các ví dụ
4. Cuối cùng, hãy chạy lệnh bên dưới để kiểm tra và xác nhận xem dịch vụ
sudo systemctl status mysql
0 có đang chạy hay khôngsudo systemctl status mysql
Cài đặt MySQL từ Kho lưu trữ chính thức
Nếu bạn không muốn đợi kho lưu trữ bản phân phối Linux của mình bắt kịp, tải xuống và cài đặt gói DEB là cách tốt nhất để nhận các tính năng mới nhất và sửa lỗi
Các nhà phát triển MySQL cung cấp kho lưu trữ phần mềm của họ để cài đặt phiên bản MySQL mới nhất, nhưng Ubuntu không biết tìm kho lưu trữ đó ở đâu [chưa]. Thực hiện theo các bước dưới đây để tải xuống và cài đặt MySQL từ kho lưu trữ chính thức
1. Mở trình duyệt web trên máy tính của bạn và điều hướng đến trang MySQL APT Repository
2. Khi ở trên trang tải xuống, hãy nhấp vào nút Tải xuống, như bạn có thể thấy bên dưới
3. Trên trang tiếp theo, nhấp chuột phải vào No thanks, just start my download link và nhấp vào Sao chép địa chỉ liên kết
4. Quay lại phiên thiết bị đầu cuối SSH của bạn và tải gói MySQL xuống thư mục chính của thư mục
sudo systemctl status mysql
1 bằng cách chạy lệnh sudo systemctl status mysql
2 bên dưới. Đảm bảo thay đổi giá trị URL sau tham số sudo systemctl status mysql
3 bằng URL bạn đã sao chép ở bước trước________số 8
5. Sau khi tải xuống gói, hãy chạy lệnh
sudo systemctl status mysql
4 bên dưới để cài đặt tệp gói MySQLsudo apt install mysql-server -y
06. Trên trang cấu hình, hiển thị yêu cầu
sudo systemctl status mysql
5 – Nhấn mũi tên xuống cho đến khi bạn chọn sudo systemctl status mysql
6 và nhấn Enter7. Bây giờ, hãy chạy lệnh bên dưới để cập nhật danh sách gói của bạn để APT có thể tìm thấy các gói MySQL mới
sudo apt update -y
8. Bây giờ APT đã biết nơi tìm phiên bản MySQL mới nhất, hãy chạy lệnh bên dưới để cài đặt gói
sudo apt install mysql-server -y
9sudo apt install mysql-server -y
9. Nhập mật khẩu mạnh mới cho tài khoản gốc của cơ sở dữ liệu MySQL trên dấu nhắc cấu hình và nhấn Enter
Nhập lại mật khẩu và nhấn Enter để xác nhận
10. Chọn
sudo systemctl status mysql
8 và nhấn Enter trên lựa chọn plugin xác thực mặc địnhĐợi quá trình cài đặt hoàn tất. Ảnh chụp màn hình bên dưới hiển thị phiên bản máy chủ MySQL mà bạn đã cài đặt. Trong ví dụ này, phiên bản mới nhất là 8. 0. 28
11. Chạy lệnh
sudo systemctl status mysql
9 bên dưới để xác minh rằng dịch vụ MySQL đang chạysudo systemctl status mysql
Bạn sẽ thấy đầu ra sau. Đầu ra này cho biết dịch vụ đang hoạt động [đang chạy] và được bật
Có liên quan. Kiểm soát các dịch vụ Systemd bằng Ubuntu systemctl
Bảo mật máy chủ MySQL của bạn
Cài đặt mặc định của máy chủ MySQL không được bảo mật ngay lập tức và bạn cần thực hiện một số bước bổ sung để bảo mật máy chủ MySQL của mình. May mắn thay, các nhà phát triển MySQL đã tạo một tập lệnh cấu hình thực hiện hầu hết công việc cho bạn
Tập lệnh bảo mật có tên là
cd /tmp && curl -OL //dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
0, bạn có thể tìm thấy tập lệnh này trong thư mục cd /tmp && curl -OL //dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
1. Tập lệnh sửa đổi các giá trị mặc định kém an toàn hơn, chẳng hạn như thông tin đăng nhập gốc từ xa và người dùng mẫu1. Chạy lệnh sau bên dưới để bắt đầu tập lệnh bảo mật trên thiết bị đầu cuối. Tập lệnh này sẽ hỏi bạn một số câu hỏi Có/Không để định cấu hình bảo mật máy chủ MySQL
sudo apt install mysql-server -y
1Nếu bạn đã cài đặt MySQL từ kho lưu trữ mặc định của Ubuntu, bạn sẽ thấy thông báo sau cho biết rằng bạn đang kết nối với MySQL bằng mật khẩu trống. Đừng lo;
2. Tại dấu nhắc tiếp theo yêu cầu thiết lập THÀNH PHẦN MẬT KHẨU HỢP LỆ, hãy nhập
cd /tmp && curl -OL //dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
2 và nhấn Enter. Thành phần này xác thực xem mật khẩu người dùng MySQL có tuân thủ yêu cầu về độ phức tạp hay không3. Tiếp theo, chọn cấp chính sách xác thực mật khẩu để thực hiện. Các tùy chọn là
3 – yêu cầu mật khẩu có tối thiểu tám ký tựcd /tmp && curl -OL //dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
4 – yêu cầu mật khẩu có tám ký tự trở lên, bao gồm cả số, chữ hoa và chữ thường và ký tự đặc biệtcd /tmp && curl -OL //dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
5 – giống nhưcd /tmp && curl -OL //dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
4 nhưng kiểm tra mật khẩu dựa trên tệp từ điển để xác thựccd /tmp && curl -OL //dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
Trong ví dụ này, gõ 2 để chọn MẠNH và nhấn Enter
MySQL không có tệp từ điển mặc định. Như vậy, bạn sẽ cần tạo một tệp từ điển và sửa đổi giá trị biến hệ thống validate_password_dictionary_file thành đường dẫn tệp từ điển. Tạo và định cấu hình tệp từ điển mật khẩu không nằm trong phạm vi của hướng dẫn này
4. Để đảm bảo rằng mật khẩu gốc tuân thủ các yêu cầu về độ phức tạp của mật khẩu, hãy đặt lại mật khẩu gốc và nhập lại. Sau đó, tập lệnh sẽ hiển thị cho bạn điểm số độ mạnh của mật khẩu. Nhấn
cd /tmp && curl -OL //dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
2 để xác nhận lưu mật khẩu và nhấn Enter5. Tiếp theo, tập lệnh hỏi liệu nó có nên xóa người dùng ẩn danh mà quá trình cài đặt MySQL đã tạo không. Người dùng này có thể xóa an toàn, vì vậy hãy nhập
cd /tmp && curl -OL //dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
2 và nhấn Enter để xóa người dùng ẩn danh6. Để tiếp tục khóa MySQL, hãy nhập
cd /tmp && curl -OL //dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
2 và nhấn Enter để không cho phép đăng nhập từ xa cho root. Sau bước này, tài khoản root chỉ có thể đăng nhập vào MySQL từ máy chủ chứ không phải từ máy khách từ xa7. Tiếp theo, xóa cơ sở dữ liệu
sudo apt install mysql-server -y
00. Cơ sở dữ liệu này chỉ dành cho thử nghiệm và không được đưa vào sản xuất. Để xóa [thả] cơ sở dữ liệu kiểm tra, hãy nhập cd /tmp && curl -OL //dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
2 rồi nhấn Enter8. Cuối cùng, tải lại các bảng đặc quyền để tất cả các thay đổi có hiệu lực ngay lập tức. Nhập
cd /tmp && curl -OL //dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
2 và nhấn Enter để tải lạiBây giờ bạn đã bảo mật thành công máy chủ MySQL của mình
Tạo người dùng MySQL mới và cấp quyền hạn chế
Tại thời điểm này, chỉ có một tài khoản người dùng trong máy chủ MySQL của bạn, đó là người dùng root. Đúng như tên gọi, tài khoản root có toàn quyền truy cập vào máy chủ MySQL và mọi tài nguyên bên trong.
Thường xuyên sử dụng tài khoản người dùng root không phải là cách tốt nhất và có thể gây rủi ro bảo mật. Bạn nên dành tài khoản root cho các tác vụ quản trị cần quyền của nó. Nếu không, bạn nên sử dụng một tài khoản có đặc quyền hạn chế và dưới đây là hướng dẫn tạo một tài khoản
1. Đăng nhập vào MySQL với tư cách là người dùng root trên thiết bị đầu cuối bằng cách thực hiện lệnh bên dưới
sudo systemctl status mysql
32. Tiếp theo, chạy câu lệnh
sudo apt install mysql-server -y
03 để tạo người dùng mới. Ví dụ dưới đây tạo tài khoản người dùng mới có tên sudo apt install mysql-server -y
04 chỉ có thể đăng nhập từ sudo apt install mysql-server -y
05. Đảm bảo cung cấp một sudo apt install mysql-server -y
06 mạnh tuân thủ chính sách mật khẩu mà bạn đã định cấu hình trước đósudo apt install mysql-server -y
0Giả sử bạn tạo một người dùng có thể đăng nhập từ một máy tính từ xa cụ thể, thay vào đó hãy chạy lệnh bên dưới. Lệnh này thay thế localhost bằng ip_address của máy tính từ xa
sudo apt install mysql-server -y
1Để tạo người dùng có thể đăng nhập vào MySQL từ bất kỳ đâu, hãy thay thế localhost hoặc ip_address bằng %
sudo apt install mysql-server -y
2Luôn kết thúc các câu lệnh MySQL của bạn bằng dấu chấm phẩy [;]. Ngoài ra, đặt các giá trị trong dấu ngoặc đơn [‘] giúp ngăn ngừa các lỗi cú pháp SQL
Kết quả dưới đây cho thấy việc tạo người dùng thành công
3. Bây giờ bạn đã tạo xong, người dùng chạy câu lệnh
sudo apt install mysql-server -y
07 bên cạnh cấp quyền. Có nhiều đặc quyền MySQL mà bạn có thể gán cho người dùng. Nhưng trong ví dụ này, lệnh sẽ cấp các đặc quyền sau cho người dùng sudo apt install mysql-server -y
08’ đối với tất cả [sudo apt install mysql-server -y
09] cơ sở dữ liệu và bảng
0 – cho phép người dùng thay đổi cấu trúc của bảngsudo apt update -y
1 – cấp cho người dùng quyền truy cập vào câu lệnhsudo apt update -y
1, cho phép đọc nội dung cơ sở dữ liệusudo apt update -y
3 – cho phép người dùng tạo cơ sở dữ liệu và bảngsudo apt update -y
4 – cho phép người dùng chèn hàng vào bảngsudo apt update -y
5 – cho phép người dùng xóa hàng khỏi bảngsudo apt update -y
6 – người dùng có thể cập nhật hàng trên bảngsudo apt update -y
7 – cho phép tạo khóa ngoạisudo apt update -y
8 – người dùng có thể chạy câu lệnh và lệnhsudo apt update -y
9sudo apt update -y
sudo apt install mysql-server -y
3Tham khảo tài liệu Đặc quyền được cung cấp bởi MySQL để biết danh sách đầy đủ tất cả các đặc quyền. Bạn có thể thêm, xóa, kết hợp các quyền theo ý muốn
Kết quả bên dưới cho thấy việc cấp quyền thành công
4. Tiếp theo, chạy lệnh dưới đây để tải lại các bảng đặc quyền. Làm như vậy sẽ đảm bảo rằng tất cả các thay đổi bạn đã thực hiện cho đến nay sẽ có hiệu lực ngay lập tức
sudo apt install mysql-server -y
45. Cuối cùng, đăng xuất khỏi MySQL
sudo apt install mysql-server -y
5Kiểm tra máy chủ MySQL của bạn
Vậy là bạn đã cài đặt và bảo mật máy chủ MySQL của mình cũng như định cấu hình tài khoản người dùng giới hạn mới. Bây giờ là lúc để kiểm tra xem mọi thứ có hoạt động như bạn mong đợi không
1. Đăng nhập vào MySQL với tư cách là người dùng
sudo apt install mysql-server -y
04. Bằng cách này, bạn có thể kiểm tra xem tài khoản người dùng hạn chế này có hoạt động như kế hoạch hay không. Cờ sudo apt install mysql-server -y
1 chỉ định tài khoản để đăng nhập, trong khi cờ sudo apt install mysql-server -y
2 gọi dấu nhắc mật khẩuNếu bạn không thêm cờ -p, tài khoản mysql sẽ cố gắng đăng nhập mà không cần mật khẩu — điều này sẽ không thành công vì tài khoản đăng nhập có mật khẩu
sudo apt install mysql-server -y
62. Tiếp theo, kiểm tra đặc quyền của người dùng bằng cách chạy câu lệnh
sudo apt update -y
3 bên dưới để tạo cơ sở dữ liệu mới có tên sudo apt install mysql-server -y
4sudo apt install mysql-server -y
7Bạn sẽ thấy thông báo Truy vấn OK, cho biết việc tạo cơ sở dữ liệu thành công
3. Chạy câu lệnh
sudo apt install mysql-server -y
5 để xem danh sách tất cả các cơ sở dữ liệu có sẵn để sử dụngsudo apt install mysql-server -y
8Bạn sẽ thấy cơ sở dữ liệu ata_db mà bạn đã tạo trước đó, như hình bên dưới
Sự kết luận
Trong bài viết này, bạn đã học cách cài đặt máy chủ MySQL Ubuntu và định cấu hình cài đặt bảo mật máy chủ. Bạn cũng đã học cách tạo tài khoản người dùng mới với các đặc quyền hạn chế và kiểm tra quyền của người dùng mới bằng cách tạo cơ sở dữ liệu mới
Tại thời điểm này, bạn nên có một máy chủ MySQL Ubuntu đầy đủ chức năng mà bạn có thể sử dụng cho nhu cầu phát triển và sản xuất của mình. Và nếu bạn thích quản lý MySQL bằng GUI, có lẽ bạn có thể cài đặt giao diện người dùng web tiếp theo?
Có liên quan. Cách cài đặt phpMyAdmin an toàn trên Linux
Ghét quảng cáo?
Khám phá sách hướng dẫn ATAThông tin khác từ ATA Learning & Partners
Tài nguyên được đề xuất
Tài nguyên được đề xuất cho đào tạo, bảo mật thông tin, tự động hóa, v.v.
Được trả tiền để viết
ATA Learning luôn tìm kiếm những người hướng dẫn ở mọi cấp độ kinh nghiệm. Bất kể bạn là quản trị viên cấp dưới hay kiến trúc sư hệ thống, bạn đều có điều gì đó để chia sẻ. Tại sao không viết trên một nền tảng có khán giả hiện có và chia sẻ kiến thức của bạn với mọi người?
Sách hướng dẫn học tập ATA
ATA Learning được biết đến với các hướng dẫn bằng văn bản chất lượng cao dưới dạng các bài đăng trên blog. Hỗ trợ Học tập ATA với sách điện tử PDF Sách hướng dẫn ATA khả dụng ngoại tuyến và không có quảng cáo
Cách cài đặt MySQL và cấu hình trong Linux?
Cài đặt MySQL Shell với Kho lưu trữ APT của MySQL .Cập nhật thông tin gói cho kho lưu trữ MySQL APT. sudo apt-get cập nhậtCập nhật gói cấu hình kho lưu trữ MySQL APT bằng lệnh sau. sudo apt-get cài đặt mysql-apt-config. .Cài đặt MySQL Shell bằng lệnh này. sudo apt-get cài đặt mysql-shellCách cài đặt máy chủ MySQL từng bước?
Quá trình cài đặt tương tự như các hệ điều hành khác. .Mở trang web MySQL trên trình duyệt. Nhấp vào liên kết sau. Tải xuống MySQLChọn tùy chọn Tải xuốngChọn Trình cài đặt MySQL cho WindowsChọn trình cài đặt mong muốn và nhấp vào tải xuống