Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách chạy máy chủ lưu trữ mysqladmin trên Amazon RDS

Trong một số trường hợp khi chạy MySQL trên Amazon RDS (hoặc nơi khác), có thể cần phải FLUSH tất cả host bản ghi từ MySQL. Thông thường, điều này là bắt buộc khi lỗi "Host 'host_name' is blocked" xảy ra, điều này sẽ ngăn các kết nối bổ sung từ host_name cụ thể đó .

host_name blocked lỗi xảy ra khi số lượng max_connect_errors được chỉ định trong cấu hình của MySQL bị vượt quá, có nghĩa là một máy chủ cụ thể đã cố gắng kết nối quá nhiều lần không thành công. Đây là một biện pháp bảo mật được MySQL áp dụng để ngăn chặn các cuộc tấn công không chính đáng từ máy chủ / người dùng không có thông tin đăng nhập phù hợp, nhưng đôi khi nó có thể xảy ra do nhầm lẫn và có thể cần được giải quyết bằng cách xóa máy chủ.

Máy chủ xả nước làm gì?

Với người dùng MySQL có đặc quyền thích hợp, thực thi FLUSH tuyên bố, MySQL có thể xóa các bảng, khóa và hệ thống bộ đệm ẩn nội bộ tùy thuộc vào tùy chọn options được chuyển vào . Trong trường hợp của FLUSH HOSTS; , MySQL sẽ làm trống bộ nhớ cache của máy chủ lưu trữ, điều này có nghĩa là bản ghi của MySQL về các máy chủ hiện đang hoặc đã kết nối gần đây được đặt lại, cho phép các kết nối tiếp theo từ các máy chủ đó.

Thực thi FLUSH HOST Trực tiếp

Mặc dù có thể bạn hoàn toàn bị ngăn kết nối với MySQL, nhưng trong một số trường hợp, có thể hệ thống sẽ “lưu” một khe kết nối chỉ khả dụng cho root chính hoặc tài khoản.

Đối với Amazon RDS , tên người dùng này thường được tìm thấy trong bảng điều khiển quản lý của bạn dưới dạng mặc định hoặc "Chính". Cố gắng kết nối với máy chủ MySQL của bạn bằng tên người dùng chính này.

Nếu bạn có thể kết nối, việc xóa các máy chủ của bạn cũng đơn giản như chạy FLUSH HOSTS; Câu lệnh MySQL:

FLUSH HOSTS;

Bây giờ bạn đã xóa host_name blocked của mình lỗi và có thể kết nối với tài khoản MySQL chuẩn của bạn.

Đẩy máy chủ từ xa bằng MySQLAdmin

Trong trường hợp bạn không thể kết nối với MySQL làm tài khoản chính và vẫn nhận được blocked lỗi, tùy chọn tiếp theo là kết nối với máy chủ từ xa và thực thi flush sử dụng lệnh mysqladmin công cụ.

Để làm điều này, bạn cần phải kết nối với một người khác Phiên bản hoặc máy chủ EC2 có quyền truy cập vào máy chủ RDS gây ra lỗi.

Sau khi kết nối, hãy thực hiện lệnh sau với các tùy chọn thích hợp được thay thế giữa <> :

$ mysqladmin -h <RDS_ENDPOINT_URL> -P <PORT> -u <USER> -p flush-hosts

Nếu thành công, flush-hosts lệnh sẽ được thực thi như mong đợi và bây giờ bạn có thể kết nối với MySQL như bình thường.

Khởi động lại Phiên bản RDS

Tùy chọn cuối cùng, nếu vẫn không thành công, chỉ cần đăng nhập vào bảng điều khiển quản lý RDS và khởi động lại phiên bản RDS đang mắc lỗi theo cách thủ công. Điều này sẽ đặt lại hiệu quả hosts cache đối với bạn, mặc dù nó có thể không lý tưởng trong hoàn cảnh sản xuất.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tôi có thể sử dụng các câu lệnh soạn sẵn trong CodeIgniter

  2. MySQL - Cách chọn dữ liệu theo độ dài chuỗi

  3. Tạo một trang web với MySQL

  4. Tìm kiếm với giá trị được phân tách bằng dấu phẩy mysql

  5. Ví dụ về MySQL SOUNDEX ()