Mysql trong mạng là gì?

Tuy nhiên, trong một số trường hợp, cần phải truy cập máy chủ MySQL từ một vị trí từ xa. Ví dụ: bạn có thể cần kết nối với máy chủ MySQL từ xa từ hệ thống cục bộ của mình hoặc triển khai nhiều máy chủ nơi ứng dụng đang chạy trên một máy khác với máy chủ cơ sở dữ liệu. Một tùy chọn sẽ là truy cập máy chủ MySQL thông qua Đường hầm SSH và một tùy chọn khác là định cấu hình máy chủ MySQL để chấp nhận các kết nối từ xa

Bài viết này hướng dẫn các bước cần thiết để cho phép kết nối từ xa đến máy chủ MySQL. Các hướng dẫn tương tự áp dụng cho MariaDB

Cấu hình máy chủ MySQL #

Bước đầu tiên là đặt máy chủ MySQL lắng nghe trên một địa chỉ IP cụ thể hoặc tất cả các địa chỉ IP trên máy

Nếu máy chủ MySQL và máy khách có thể giao tiếp qua mạng riêng, thì tùy chọn tốt nhất là đặt máy chủ MySQL chỉ nghe trên IP riêng

Mặt khác, nếu bạn muốn kết nối với máy chủ qua mạng công cộng, hãy đặt máy chủ MySQL lắng nghe trên tất cả các địa chỉ IP trên máy. Để làm như vậy, bạn cần chỉnh sửa tệp cấu hình MySQL và thêm hoặc thay đổi giá trị của tùy chọn

bind-address           = 0.0.0.0
# skip-networking
7. Bạn có thể đặt một địa chỉ IP và dải IP. Nếu địa chỉ là
bind-address           = 0.0.0.0
# skip-networking
8, máy chủ MySQL chấp nhận kết nối trên tất cả các giao diện IPv4 của máy chủ. Nếu bạn đã cấu hình IPv6 trên hệ thống của mình, thì thay vì
bind-address           = 0.0.0.0
# skip-networking
8, hãy sử dụng
sudo systemctl restart mysql
0

Vị trí của tệp cấu hình MySQL khác nhau tùy thuộc vào bản phân phối. Trong Ubuntu và Debian, tệp được đặt tại

sudo systemctl restart mysql
1, trong khi ở các bản phân phối dựa trên Red Hat như CentOS, tệp được đặt tại
sudo systemctl restart mysql
2

Mở tệp bằng trình soạn thảo văn bản của bạn

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Tìm kiếm một dòng bắt đầu bằng

bind-address           = 0.0.0.0
# skip-networking
7 và đặt giá trị của nó thành địa chỉ IP mà máy chủ MySQL sẽ lắng nghe

Theo mặc định, giá trị được đặt thành

sudo systemctl restart mysql
4 [chỉ nghe trong máy chủ cục bộ]

Trong ví dụ này, chúng tôi sẽ đặt máy chủ MySQL lắng nghe trên tất cả các giao diện IPv4 bằng cách thay đổi giá trị thành

bind-address           = 0.0.0.0
# skip-networking
8

mysqld. cnf

bind-address           = 0.0.0.0
# skip-networking

Nếu có một dòng chứa

sudo systemctl restart mysql
6, hãy xóa nó hoặc nhận xét nó bằng cách thêm
sudo systemctl restart mysql
7 vào đầu dòng

Trong Mysql 8. 0 trở lên, chỉ thị

bind-address           = 0.0.0.0
# skip-networking
7 có thể không có mặt. Trong trường hợp này, hãy thêm nó vào dưới phần
sudo systemctl restart mysql
9

Sau khi hoàn tất, hãy khởi động lại dịch vụ MySQL để thay đổi có hiệu lực. Chỉ root hoặc người dùng có đặc quyền sudo mới có thể khởi động lại dịch vụ

Để khởi động lại dịch vụ MySQL trên Debian hoặc Ubuntu, hãy nhập

sudo systemctl restart mysql

Trên các bản phân phối dựa trên RedHat như CentOS để khởi động lại dịch vụ đang chạy

bind-address           = 0.0.0.0
# skip-networking
6

Cấp quyền truy cập cho người dùng từ máy từ xa #

Bước tiếp theo là cho phép người dùng từ xa truy cập cơ sở dữ liệu

Đăng nhập vào máy chủ MySQL với tư cách là người dùng root bằng cách nhập

bind-address           = 0.0.0.0
# skip-networking
7

Nếu bạn đang sử dụng plugin xác thực MySQL gốc, cũ để đăng nhập với quyền root, hãy chạy lệnh bên dưới và nhập mật khẩu khi được nhắc

bind-address           = 0.0.0.0
# skip-networking
8

Từ bên trong MySQL shell, sử dụng câu lệnh

bind-address           = 0.0.0.0
# skip-networking
60 để cấp quyền truy cập cho người dùng từ xa

bind-address           = 0.0.0.0
# skip-networking
0

Ở đâu

  • bind-address           = 0.0.0.0
    # skip-networking
    
    61 là tên của cơ sở dữ liệu mà người dùng sẽ kết nối với
  • bind-address           = 0.0.0.0
    # skip-networking
    
    62 là tên của người dùng MySQL
  • bind-address           = 0.0.0.0
    # skip-networking
    
    63 là địa chỉ IP mà người dùng sẽ kết nối. Sử dụng
    bind-address           = 0.0.0.0
    # skip-networking
    
    64 để cho phép người dùng kết nối từ bất kỳ địa chỉ IP nào
  • bind-address           = 0.0.0.0
    # skip-networking
    
    65 là mật khẩu người dùng

Ví dụ: để cấp quyền truy cập vào cơ sở dữ liệu

bind-address           = 0.0.0.0
# skip-networking
66 cho người dùng có tên
bind-address           = 0.0.0.0
# skip-networking
67 với mật khẩu
bind-address           = 0.0.0.0
# skip-networking
68 từ máy khách có IP
bind-address           = 0.0.0.0
# skip-networking
69, bạn sẽ chạy

sudo systemctl restart mysql
0

Định cấu hình Tường lửa #

Bước cuối cùng là định cấu hình tường lửa của bạn để cho phép lưu lượng truy cập trên cổng

bind-address           = 0.0.0.0
# skip-networking
70 [cổng mặc định của MySQL] từ các máy từ xa

Iptables #

Nếu bạn đang sử dụng iptables làm tường lửa của mình, lệnh bên dưới sẽ cho phép truy cập từ bất kỳ địa chỉ IP nào trên Internet vào cổng MySQL. Điều này rất không an toàn

sudo systemctl restart mysql
2

Cho phép truy cập từ một địa chỉ IP cụ thể

sudo systemctl restart mysql
3

UFW #

UFW là công cụ tường lửa mặc định trong Ubuntu. Để cho phép truy cập từ bất kỳ địa chỉ IP nào trên Internet [rất không an toàn], hãy chạy

bind-address           = 0.0.0.0
# skip-networking
0

Cho phép truy cập từ một địa chỉ IP cụ thể

bind-address           = 0.0.0.0
# skip-networking
1

Tường lửaD #

FirewallD là công cụ quản lý tường lửa mặc định trong CentOS. Để cho phép truy cập từ bất kỳ địa chỉ IP nào trên Internet [rất không an toàn], hãy nhập

bind-address           = 0.0.0.0
# skip-networking
2

Để cho phép truy cập từ một địa chỉ IP cụ thể trên một cổng cụ thể, bạn có thể tạo vùng FirewallD mới hoặc sử dụng quy tắc phong phú. Tạo một khu vực mới có tên là

bind-address           = 0.0.0.0
# skip-networking
71

bind-address           = 0.0.0.0
# skip-networking
3

Xác minh Thay đổi #

Để xác minh rằng người dùng từ xa có thể kết nối với máy chủ MySQL, hãy chạy lệnh sau

bind-address           = 0.0.0.0
# skip-networking
4

Trong đó

bind-address           = 0.0.0.0
# skip-networking
62 là tên của người dùng mà bạn đã cấp quyền truy cập và
bind-address           = 0.0.0.0
# skip-networking
73 là địa chỉ IP của máy chủ nơi máy chủ MySQL chạy

Nếu mọi thứ được thiết lập chính xác, bạn sẽ có thể đăng nhập vào máy chủ MySQL từ xa

Nếu bạn gặp lỗi như bên dưới, thì cổng 3306 không mở hoặc máy chủ MySQL không nghe địa chỉ IP

bind-address           = 0.0.0.0
# skip-networking
5

Lỗi bên dưới cho biết người dùng mà bạn đang cố đăng nhập không có quyền truy cập máy chủ MySQL từ xa

bind-address           = 0.0.0.0
# skip-networking
6

Sự kết luận #

MySQL, máy chủ cơ sở dữ liệu nguồn mở phổ biến nhất theo mặc định, chỉ lắng nghe các kết nối đến trên máy chủ cục bộ

MySQL được sử dụng để làm gì?

MySQL là một công cụ dùng để quản lý cơ sở dữ liệu và máy chủ , vì vậy, mặc dù không phải là cơ sở dữ liệu nhưng nó được sử dụng rộng rãi liên quan đến việc quản lý và tổ chức .

MySQL có phải là cơ sở dữ liệu mạng không?

MySQL là hệ quản trị cơ sở dữ liệu . Nó có thể là bất cứ thứ gì từ danh sách mua sắm đơn giản đến thư viện ảnh hoặc lượng thông tin khổng lồ trong mạng công ty. Để thêm, truy cập và xử lý dữ liệu được lưu trữ trong cơ sở dữ liệu máy tính, bạn cần một hệ thống quản lý cơ sở dữ liệu như MySQL Server.

Ví dụ về MySQL là gì?

MySQL là Hệ thống quản lý cơ sở dữ liệu quan hệ [RDBMS] cung cấp nhiều tính năng, bao gồm. Nó cho phép chúng ta sử dụng các bảng, hàng, cột và chỉ mục và thực hiện các thao tác cơ sở dữ liệu trên chúng. Bảng [tập hợp các hàng và cột], còn được gọi là quan hệ, được sử dụng để xây dựng các mối quan hệ cơ sở dữ liệu.

Câu trả lời ngắn của MySQL là gì?

MySQL là gì? . MySQL dễ sử dụng, đáng tin cậy và nhanh chóng. Một hệ thống quản lý DB hoạt động trên các hệ thống nhúng cũng như hệ thống máy khách-máy chủ. one of the most popular open-source DBMS [database management system]. MySQL is easy to use, reliable, and fast. A DB management system that works on embedded systems as well as client-server systems.

Chủ Đề