MySQL là một trong những hệ quản trị cơ sở dữ liệu quan hệ nguồn mở (RDBMS) phổ biến nhất, dựa trên Ngôn ngữ truy vấn có cấu trúc (SQL), là ngôn ngữ lập trình được sử dụng để quản lý dữ liệu được lưu trữ trong cơ sở dữ liệu.
Nó nhanh chóng, dễ sử dụng ngay cả đối với người mới bắt đầu phát triển phụ trợ và được tích hợp vào các gói ngăn xếp khác nhau như Xampp, Lampp và Wamp.
Trong bài đăng cụ thể này, chúng tôi sẽ hướng dẫn bạn cách cài đặt máy chủ MySQL trong hệ thống Ubuntu của bạn. Thông tin bổ sung bao gồm định cấu hình các tùy chọn bảo mật, điều chỉnh phương pháp xác thực và tạo người dùng mới. Bản phát hành Ubuntu mà chúng tôi lựa chọn trong hướng dẫn này là Ubuntu 20.04 LTS, là bản phát hành mới nhất kể từ khi viết bài này.
Cài đặt MySQL trên Ubuntu
Yêu cầu
Bạn sẽ cần có các đặc quyền nâng cao (root) trên hệ thống của mình. Bạn có thể thực hiện việc này bằng cách thực hiện lệnh bên dưới.
sudo su
Quy trình
Khi viết bài này, bản phát hành MySQL Linux hiện tại là phiên bản 5.7. Để bắt đầu cài đặt, hãy làm theo các bước bên dưới:
Bước 1) Đảm bảo tất cả các gói và kho lưu trữ trong hệ thống của bạn được cập nhật. Bạn có thể làm như vậy bằng cách chạy lệnh dưới đây:
sudo apt update
Bước 2) Bây giờ, chúng ta sẽ cài đặt MySQL thông qua trình quản lý gói apt. Thực hiện lệnh bên dưới.
sudo apt install mysql-server
Bước 3) Sau khi cài đặt thành công, dịch vụ mysql sẽ tự động khởi động. Bạn có thể xác nhận điều đó bằng cách thực hiện lệnh dưới đây:
sudo systemctl status mysql
Bạn sẽ nhận được đầu ra tương tự như trên hình ảnh bên dưới.
Trong mọi trường hợp dịch vụ không chạy, hãy thực hiện lệnh bên dưới:
sudo /etc/init.d/mysql start
Xác minh cài đặt MySQL (tùy chọn)
Bạn có thể xác minh cài đặt của mình bằng cách chạy lệnh bên dưới, lệnh này sẽ xuất ra phiên bản MySQL và bản phân phối được cài đặt trong hệ thống của bạn.
mysql --version
Bảo mật máy chủ MySQL của bạn
Bây giờ máy chủ MySQL đã được cài đặt thành công, bạn cần thiết lập một vài tham số để đảm bảo tính bảo mật của máy chủ và cơ sở dữ liệu mà bạn định cấu hình trong tương lai.
Trong các trường hợp khác, sau khi cài đặt gói MySQL Server hoàn tất, tiện ích cài đặt mysql-secure-install sẽ tự động khởi chạy. Tuy nhiên, nếu đây không phải là trường hợp của bạn, hãy thực hiện lệnh bên dưới:
sudo mysql_secure_installation
Bạn sẽ thấy một lời nhắc hỏi bạn có XÁC NHẬN MẬT KHẨU PLUGIN hay không. Nó tăng cường bảo mật máy chủ MySQL bằng cách kiểm tra độ mạnh của mật khẩu người dùng cho phép người dùng chỉ đặt mật khẩu mạnh. Nhấn Y để chấp nhận VALIDATION hoặc phím RETURN để bỏ qua.
Tiếp theo, bạn sẽ thấy lời nhắc đặt mật khẩu gốc. Nhập mật khẩu của bạn và nhấn enter. Lưu ý, vì lý do bảo mật, bất kỳ thứ gì bạn nhập vào bảng điều khiển sẽ không được hiển thị.
Tiếp theo, bạn sẽ thấy lời nhắc hỏi bạn có xóa tất cả người dùng ẩn danh hay không, hãy nhập Y cho CÓ. Đối với bất kỳ lời nhắc nào khác từ đây, hãy nhập Y cho CÓ.
Đăng nhập với tư cách người chủ và điều chỉnh xác thực người dùng
Máy chủ MySQL đi kèm với tiện ích phía máy khách cho phép bạn truy cập và tương tác với cơ sở dữ liệu từ Linux Terminal.
Thông thường, sau khi cài đặt mới MySQL trên Ubuntu mà không thực hiện bất kỳ cấu hình nào, người dùng truy cập vào máy chủ được xác thực bằng plugin ổ cắm xác thực (auth_socket).
Việc sử dụng auth_socket cản trở máy chủ xác thực người dùng bằng mật khẩu. Nó không chỉ gây lo ngại về bảo mật mà còn cản trở người dùng truy cập cơ sở dữ liệu bằng các chương trình bên ngoài như phpMyAdmin. Chúng tôi cần thay đổi phương thức xác thực từ auth_socket sang sử dụng mysql_native_password.
Để làm điều này, chúng tôi sẽ cần mở bảng điều khiển MySQL. Chạy lệnh sau trên Linux Terminal.
sudo mysql
Bây giờ, chúng ta cần kiểm tra phương thức xác thực được sử dụng bởi cơ sở dữ liệu trên những người dùng khác nhau. Bạn có thể làm như vậy bằng cách chạy lệnh bên dưới.
SELECT user,authentication_string,plugin,host FROM mysql.user;
Từ hình ảnh trên, chúng tôi có thể xác nhận rằng người dùng root thực sự được xác thực bằng cách sử dụng plugin auth_socket. Chúng ta cần chuyển sang sử dụng ‘xác thực mật khẩu’ bằng lệnh ‘ALTER USER’ bên dưới. Đảm bảo bạn sử dụng mật khẩu an toàn (phải có nhiều hơn tám ký tự kết hợp số, chuỗi và ký hiệu đặc biệt) vì nó sẽ thay thế mật khẩu bạn đã đặt khi thực hiện lệnh ‘sudo mysql_secure_installation’ ở trên. Chạy lệnh bên dưới.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
Lưu ý, phần văn bản được đánh dấu trong hình trên là nơi bạn sẽ nhập mật khẩu bảo mật của mình. Gắn nó vào giữa các thẻ đơn. Bây giờ, chúng ta cần tải lại các bảng cấp và cập nhật các thay đổi cho MySQL-server. Thực hiện việc này bằng cách thực hiện lệnh bên dưới.
FLUSH PRIVILEGES;
Sau khi hoàn tất, chúng ta cần xác nhận rằng việc sử dụng root không còn sử dụng auth_socket để xác thực nữa. Làm như vậy bằng cách chạy lại lệnh bên dưới.
SELECT user,authentication_string,plugin,host FROM mysql.user;
Từ hình ảnh trên, chúng ta thấy phương thức xác thực gốc đã thay đổi từ ‘auth_socket’ thành ‘password’.
Vì chúng tôi đã thay đổi phương thức xác thực cho root, chúng tôi không thể sử dụng cùng một lệnh mà chúng tôi đã sử dụng trước đây để mở bảng điều khiển MySQL. Đó là, ‘sudo mysql.’ Chúng tôi sẽ cần bao gồm các tham số tên người dùng và mật khẩu, như được hiển thị bên dưới.
mysql -u root -p
‘-U’ cho biết người dùng, là ‘root’ trong trường hợp của chúng tôi và ‘-p’ là viết tắt của ‘password’, máy chủ sẽ nhắc bạn nhập khi bạn nhấn phím Enter.
Tạo người dùng mới
Sau khi mọi thứ được thiết lập, bạn có thể tạo một người dùng mới mà bạn sẽ cấp các đặc quyền thích hợp. Trong trường hợp của chúng tôi ở đây, chúng tôi sẽ tạo một người dùng ‘tuts_fosslinux’ và chỉ định quyền trên tất cả các bảng cơ sở dữ liệu và quyền thay đổi, xóa và thêm các đặc quyền của người dùng. Thực hiện các lệnh bên dưới từng dòng một.
CREATE USER 'tuts_fosslinux'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON *.* TO 'tuts_fosslinux'@'localhost' WITH GRANT OPTION;
Lệnh đầu tiên sẽ tạo người dùng mới và lệnh thứ hai chỉ định các đặc quyền cần thiết.
Bây giờ chúng tôi có thể kiểm tra người dùng mới của mình bằng cách chạy lệnh bên dưới.
mysql -u tuts_fosslinux -p
Cài đặt MySQL-Server trên Ubuntu Server
Cài đặt MySQL-server trên máy chủ Ubuntu không có nhiều khác biệt so với các bước được mô tả ở trên. Tuy nhiên, vì máy chủ được truy cập từ xa, chúng tôi cũng cần bật quyền truy cập từ xa cho máy chủ của mình.
Để cài đặt cơ sở dữ liệu và định cấu hình các tùy chọn bảo mật, chỉ cần chạy từng dòng lệnh sau trên Terminal.
sudo apt update sudo apt install mysql-server sudo mysql_secure_installation
Sau khi cài đặt thành công, chúng ta sẽ cần kích hoạt tính năng truy cập từ xa. Về mặt logic, tất cả những gì chúng ta cần làm là mở một cổng trên tường lửa của máy chủ Ubuntu để máy chủ MySQL giao tiếp. Theo mặc định, dịch vụ MySQL chạy trên cổng 3306. Chạy các lệnh bên dưới.
sudo ufw enable
sudo ufw allow mysql
Để nâng cao độ tin cậy và khả năng truy cập của cơ sở dữ liệu MySQL của chúng tôi, chúng tôi có thể định cấu hình dịch vụ máy chủ MySQL để bắt đầu chạy khi khởi động. Để làm như vậy, hãy thực hiện lệnh bên dưới.
sudo systemctl enable mysql
Bây giờ, chúng tôi sẽ cần định cấu hình giao diện máy chủ của mình. Nó sẽ cho phép máy chủ lắng nghe các giao diện có thể truy cập từ xa. Chúng tôi sẽ phải chỉnh sửa tệp ‘mysqld.cnf’. Chạy các lệnh bên dưới.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Theo mặc định, địa chỉ ràng buộc là ‘127.0.0.1.’ Thêm địa chỉ ràng buộc cho Giao diện mạng công cộng của bạn và một địa chỉ khác cho giao diện Mạng dịch vụ. Bạn có thể định cấu hình địa chỉ ràng buộc của mình là '0.0.0.0' cho tất cả Địa chỉ Ip.
Kết luận
Tôi hy vọng bạn thích hướng dẫn này về cách thiết lập máy chủ MySQL trên hệ thống Ubuntu của bạn. Nếu bạn chỉ mới bắt đầu với MySQL và tất cả những gì bạn cần là tạo một cơ sở dữ liệu và người dùng đơn giản, các bước nêu trên sẽ rất hữu ích. Nếu bạn thấy bài viết này hữu ích, vui lòng chia sẻ liên kết với bạn bè.