Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách cài đặt và cấu hình MySQL trên Ubuntu

MySQL là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở, mạnh mẽ và được sử dụng rộng rãi, tổ chức dữ liệu thành một hoặc nhiều bảng dữ liệu trong đó các kiểu dữ liệu có thể liên quan với nhau. Ngôn ngữ truy vấn có cấu trúc (SQL) hoạt động với RDBMS và khi ai đó muốn lưu trữ hoặc quản lý một khối lượng lớn dữ liệu, họ sẽ có được dịch vụ của cơ sở dữ liệu quan hệ và SQL.

Bài viết này hướng dẫn cách định cấu hình MySQL trên máy chủ Ubuntu 18.04 của bạn. Nó cũng chỉ cho bạn cách kích hoạt xác thực, tiếp theo là quản lý dịch vụ. Cuối cùng, bạn cũng sẽ học cách kiểm tra dịch vụ để xác minh cấu hình thành công.

Bước 1:Cài đặt MySQL Client

Cài đặt mysql-client để kết nối từ xa với máy chủ:

sudo apt install mysql-client -y

Kiểm tra phiên bản ứng dụng khách để xác minh xem cài đặt có thành công hay không:

mysql -V

Đầu ra:

mysql Ver 8.0.28-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))

Bây giờ bạn có thể sử dụng lệnh sau để thiết lập kết nối từ xa với máy chủ MySQL:

mysql -u <username> -p <password>-h HOSTNAME_OR_IP

Bước 2:Cài đặt Máy chủ MySQL

Trước khi cài đặt MySQL, hãy đảm bảo rằng máy chủ Ubuntu được cài đặt và cấu hình đúng cách. Máy chủ Ubuntu 18.04, theo mặc định, chứa MySQL phiên bản 5.7 mới nhất trong kho lưu trữ. Sử dụng lệnh apt để cập nhật các gói hệ thống từ kho lưu trữ như sau:

sudo apt update

Bây giờ sử dụng lệnh sau để cài đặt gói máy chủ MySQL:

sudo apt install mysql-server -y

Bước 3:Cấu hình MySQL

Trong thời đại các mối đe dọa an ninh mạng dai dẳng như hiện nay, việc thay đổi các tùy chọn mặc định sau khi cài đặt máy chủ thành công là một tiêu chuẩn. Phần này hướng dẫn bạn cấu hình máy chủ MySQL để loại bỏ các tùy chọn mặc định không an toàn như thông tin đăng nhập gốc từ xa, tài khoản người dùng mặc định, v.v. MySQL giảm bớt nhiệm vụ này bằng cách tự động thực hiện tất cả các thay đổi với sự trợ giúp của việc chạy một tập lệnh bảo mật đơn giản.

sudo mysql_secure_installation

Tập lệnh sẽ nhắc nhiều tùy chọn yêu cầu câu trả lời Có hoặc Không để thay đổi bảo mật mặc định của MySQL. Ví dụ:lời nhắc đầu tiên yêu cầu nếu bạn muốn thiết lập một plugin để xác thực mật khẩu, hãy trả lời và tiếp tục.

Lời nhắc tiếp theo yêu cầu đặt mật khẩu tài khoản người dùng gốc MySQL. Bạn có thể nhận thấy rằng việc bật plugin Xác thực mật khẩu cho phép thiết lập độ mạnh của mật khẩu dựa trên ba cấp độ chính sách và độ dài bảo mật mật khẩu.

Nhập số bạn muốn chọn để đặt độ mạnh của mật khẩu. Sau đó, hệ thống sẽ yêu cầu đặt mật khẩu mới và nhập lại để xác nhận, như sau:

Cách cài đặt và cấu hình MySQL trên Ubuntu

Bạn có thể nhận thấy rằng sau khi đặt mật khẩu, nó sẽ hiển thị độ mạnh và hỏi bạn có muốn tiếp tục thêm không.

Cách cài đặt và cấu hình MySQL trên Ubuntu

Bây giờ nó sẽ hỏi các câu hỏi tiếp theo:

  1. Để xóa người dùng thử nghiệm ẩn danh
  2. Tắt đăng nhập từ xa từ người dùng gốc
  3. Xóa các cơ sở dữ liệu thử nghiệm
  4. Tải lại bảng đặc quyền để lưu tất cả các thay đổi

Nhập Y tiếp tục với cài đặt mặc định để đặt quy tắc bảo mật.

Cách cài đặt và cấu hình MySQL trên Ubuntu

Các phiên bản MySQL cũ hơn (trước 5.7.6) yêu cầu bạn khởi tạo thủ công thư mục cơ sở dữ liệu. Trong khi đối với các phiên bản sau đó, hãy chạy lệnh sau:

mysqld –initialize

Bước 4:Điều chỉnh Xác thực Người dùng MySQL

Bất kể việc thiết lập mật khẩu cho tài khoản người dùng MySQL, cài đặt xác thực mặc định sẽ vô hiệu hóa việc sử dụng mật khẩu trong quá trình thiết lập kết nối. Thay vào đó, nó tự động xác thực người dùng với sự trợ giúp của auth_socket cắm vào. Plugin là một tính năng tuyệt vời về khả năng sử dụng, tuy nhiên, nó không thực tế nếu bạn muốn truy cập cơ sở dữ liệu của mình từ một ứng dụng khách từ xa.

Vì việc truy cập cơ sở dữ liệu mà không có mật khẩu làm phức tạp quá trình làm việc khi được chương trình bên ngoài truy cập, phần này tóm tắt hai cách để xác thực người dùng khi thiết lập kết nối:

1. Xác thực người dùng gốc bằng mật khẩu

Để đảm bảo xác thực người dùng thông qua mật khẩu, bạn có thể thay đổi plugin từ " auth_socket "thành" mysql_native_password . "Với mục đích này, hãy mở màn hình nhắc MySQL bằng cách sử dụng sudo mysql ra lệnh và xác minh plugin đang được sử dụng để xác thực người dùng, như sau:

SELECT user,authentication_string,plugin,host FROM mysql.user;
Cách cài đặt và cấu hình MySQL trên Ubuntu

Ảnh chụp màn hình ở trên hiển thị rằng máy khách gốc tự xác thực bằng cách sử dụng plugin "auth_socket". Để khởi tạo xác thực máy khách gốc bằng mật khẩu, hãy sử dụng câu lệnh ALTER USER để đặt plugin "mysql_native_password".

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Lưu các thay đổi trên như sau:

FLUSH PRIVILEGES;

Câu lệnh MySQL "FLUSH PRIVILEGES" lưu các thay đổi đối với bảng cơ sở dữ liệu được thực hiện bởi các mệnh đề ALTER, INSERT, UPDATE và DELETE.


Bây giờ để xác minh các chiến lược xác thực được sử dụng bởi từng người dùng và đảm bảo rằng plugin "auth_socket" không được ứng dụng khách gốc sử dụng, hãy chạy lại lệnh:

SELECT user,authentication_string,plugin,host FROM mysql.user;
Cách cài đặt và cấu hình MySQL trên Ubuntu

Giờ đây, người dùng root có thể kết nối với máy chủ bằng cách xác thực thông qua lệnh sau:

sudo mysql -u root -p

2. Tạo người dùng chuyên dụng

Một cách khác để kích hoạt xác thực mà không cần sử dụng mysql_native_password là tạo một người dùng chuyên dụng như sau:

sudo mysql

Tạo tài khoản mới và cấp tất cả các đặc quyền để gán quyền kiểm soát cấp quản trị cho người dùng mới. Sau đó, thoát khỏi lời nhắc MySQL. Chạy lần lượt các truy vấn SQL sau để đạt được điều này:

CREATE USER 'ubuntu'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'ubuntu'@'localhost' WITH GRANT OPTION;
exit

Quản lý và Kiểm tra Dịch vụ MySQL Với systemctl

Đặt dịch vụ chạy khi khởi động máy chủ Ubuntu bằng cách sử dụng bật systemctl lệnh như sau:

sudo systemctl enable mysql

Ngoài ra, bạn có thể kiểm tra xem máy chủ có đang hoạt động hay không bằng cách nhập:

sudo systemctl status mysql

Hoặc

sudo systemctl status mysql.service
Cách cài đặt và cấu hình MySQL trên Ubuntu

Dịch vụ tự động chạy sau khi cài đặt MySQL, tuy nhiên, nếu không, bạn có thể khởi chạy dịch vụ bằng lệnh sau:

sudo systemctl start mysql

Bắt đầu với MySQL Server trên Ubuntu

MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở, thân thiện với người dùng, có thể mở rộng và mạnh mẽ. Bên cạnh đó, nó là một phần không thể thiếu của mô hình ngăn xếp LAMP / LEMP hoặc các công nghệ ứng dụng web. Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) này cung cấp cài đặt đơn giản và cấu hình dễ dàng trên các phiên bản gần đây của nó.

Bài viết này hướng dẫn bạn xây dựng thiết lập MySQL cơ bản sẽ giúp bạn bắt đầu tìm hiểu cách hoạt động của MySQL. Nó cũng bao gồm một số biện pháp bảo mật quan trọng ban đầu trong cấu hình của nó để tránh những sơ hở trong thiết lập mặc định. Bạn có thể tìm hiểu thêm về cách bảo mật MySQL bằng cách làm theo một số mẹo bảo mật nâng cao.