Bị chặn vì nhiều lỗi kết nối;

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các lý do chặn máy chủ. Chúng ta cũng sẽ xem cách bỏ chặn bằng mysqladmin flush-hosts; trong MySQL

Sau đó, chúng ta sẽ tìm các phương pháp khác nhau để xóa host_cache để kết nối thành công. Sau đó, chúng ta cũng sẽ xem xét tác động của việc xóa bảng host_cache

Lý do chặn máy chủ

Bất kỳ lý do nào sau đây có thể khiến máy chủ của bạn (_______6) bị chặn

  • Máy chủ, host_name bị chặn khi bất kỳ máy chủ nào của bạn thay đổi địa chỉ IP
  • Máy chủ, host_name bị chặn do nhiều lỗi kết nối. Điều đó có nghĩa là
    Host '35.x.x.206' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
    
    0 nhận được nhiều yêu cầu kết nối bị gián đoạn

Cách xử lý khi máy chủ bị chặn

host_cachemysqladmin flush-hosts;1, IP, mysqladmin flush-hosts;3 của khách hàng và các chi tiết cần thiết khác

Bộ đệm máy chủ được sử dụng để theo dõi các lỗi kết nối. Máy chủ MySQL sử dụng host_cache để theo dõi các lỗi trong quá trình kết nối máy khách

Giả sử bạn gặp lỗi sau khi tạo kết nối. Điều đó có nghĩa là,

Host '35.x.x.206' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
0 đã nhận được nhiều yêu cầu kết nối bị gián đoạn giữa chừng

Bây giờ, nó không cho phép bạn kết nối lại

Host 'host_name' is blocked because of many connection errors.
Unblock with mysqladmin flush-hosts

Biến hệ thống mysqladmin flush-hosts;7 xác định số lượng yêu cầu kết nối bị gián đoạn

Nếu số lượng yêu cầu kết nối bị gián đoạn vượt quá số lượng cho phép, máy chủ của bạn sẽ bị chặn. Và không thể gửi thêm yêu cầu kết nối cho đến khi bạn xóa bảng mysqladmin flush-hosts;8

Đó là bởi vì

Host '35.x.x.206' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
0 cho rằng ai đó đang cố đột nhập hoặc có điều gì đó không ổn. Trong trường hợp này, bạn không thể gửi yêu cầu kết nối cho đến khi bạn xóa bảng MySQL0

Bạn có thể sử dụng mysqladmin flush-hosts; từ dấu nhắc lệnh/thiết bị đầu cuối. Bạn cũng có thể sử dụng câu lệnh MySQL2 trong MySQL3

Ảnh hưởng của việc xả bảng host_cache

Bạn có thể có một hoặc nhiều hiệu ứng nếu bạn bỏ chặn máy chủ thông qua flushing host_cache. Những hiệu ứng được liệt kê dưới đây

  • host_cache trong bộ nhớ sẽ bị xóa
  • Bỏ chặn máy chủ đã bị chặn trước đó
  • Tất cả các hàng từ host_cache sẽ bị xóa

Các cách khác nhau để xóa máy chủ

Đây là những phương pháp khác nhau mà bạn có thể sử dụng để xóa máy chủ. Bạn phải cung cấp các đặc quyền cần thiết cho việc này

  • Bằng cách cung cấp đặc quyền MySQL8, bạn có thể thay đổi giá trị của biến hệ thống MySQL9
  • Bằng cách trao đặc quyền cho host_cache0, hãy cắt bớt bảng host_cache. Bạn có thể làm điều đó bằng cách sử dụng câu lệnh host_cache2
  • Sử dụng MySQL2 nếu bạn đang sử dụng MySQL3. Nó cần đặc quyền host_cache5
  • Bằng cách gán đặc quyền cho host_cache5, bạn có thể bỏ chặn bằng máy chủ lưu trữ host_cache7 trong MySQL. Thực thi câu lệnh mysqladmin flush-hosts; từ dấu nhắc lệnh/thiết bị đầu cuối
  • Bạn cũng có thể sử dụng host_cache0 để xóa bảng host_cache. Thay thế host_cache2 và host_cache3 bằng host_cache2 và host_cache3 của bạn

Sự kết luận

Xem qua các phần trên ta đã kết luận được host bị block nếu host của bạn đổi IP. Hoặc bạn gặp nhiều lỗi kết nối hơn so với số lượng yêu cầu kết nối không thành công cho phép

Bạn có thể bỏ chặn máy chủ bằng cách xóa host_cache của mình bằng cách sử dụng host_cache7 trong MySQL và FLUSH HOSTS trong MySQL3

Bài viết này giải thích cách sử dụng Core-Admin để giải quyết các lỗi kết nối được lưu trong bộ nhớ cache của máy chủ MySQL/MariaDB do các ứng dụng máy khách kết nối gây ra như

Host '35.x.x.206' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
2. Giải pháp nhanh chóng với Core-Admin

Cho đến nay, không có cách nào để vô hiệu hóa tính năng này từ máy chủ MySQL/MariaDB, tính năng chặn bất kỳ máy khách kết nối nào tích lũy lỗi kết nối. Giải pháp có sẵn là

  1. Để sử dụng tùy chọn “Flush host” được cung cấp bởi #MySQLManager như thế này.

    Bị chặn vì nhiều lỗi kết nối;

    …sau đó chọn máy chủ MySQL/MariaDB mà bạn muốn áp dụng lệnh FLUSH HOSTS. Theo tùy chọn, bạn có thể chọn áp dụng tất cả. Chạy lệnh này trên môi trường sản xuất là an toàn

    Bị chặn vì nhiều lỗi kết nối;

  2. Đồng thời, nếu tình huống lặp lại, bạn có một số lựa chọn. để tăng số lượng lỗi tối đa phải đạt được để bắt đầu chặn hoặc tự động hóa lệnh FLUSH HOSTS

3. Tăng lỗi kết nối tối đa để ít bị chặn Máy chủ hơn

Các bước sau đây giả định rằng bạn không thể sửa đổi ứng dụng MySQL/MariaDB phía máy khách để khắc phục các lỗi gây ra sự cố chặn này. Cách tốt nhất để đi là luôn sửa lỗi. Trong trường hợp không thể, hãy sử dụng như sau

Dưới đây là các bước để định cấu hình máy chủ MySQL/MariaDB của bạn để tăng số lỗi kết nối tối đa (max_connect_errors) để Máy chủ bị chặn bởi các lỗi này ít xảy ra hơn

  1. Chuyển đến máy chủ MySQL/MariaDB mà bạn muốn định cấu hình và cài đặt bên trong máy chủ MySQL, đồng thời định cấu hình máy chủ tuôn ra tự động với giá trị cần thiết. Thay đổi này sẽ KHÔNG khởi động lại máy chủ MySQL/MariaDb