programing

Amazon RDS 데이터베이스 서버 인스턴스에서 "mysqladmin flush-hosts" 명령을 실행하는 방법

yoursource 2022. 10. 23. 18:29
반응형

Amazon RDS 데이터베이스 서버 인스턴스에서 "mysqladmin flush-hosts" 명령을 실행하는 방법

데이터베이스 서버에 장애가 발생했습니다.많은 연결 오류로 인해 호스트가 차단되었다고 합니다.'mysqladmin flush-hosts'로 차단 해제하라는 메시지가 표시됨

이 명령어를 amazon rds 데이터베이스 서버에 어떻게 어디서 실행해야 합니까?

감사해요.

일반 MySQL의 경우 'root' 관리 슈퍼 사용자로 연결하고 다음 명령을 실행합니다.

FLUSH HOSTS

연결이 너무 많은 경우에도 MySQL은 슈퍼 사용자가 연결할 수 있도록 연결을 예약해야 합니다.

mysqladmin클라이언트는 일반적으로 루트로 접속하여 위의 SQL을 발행합니다.

문제의 RDS 인스턴스에 액세스할 수 있고 mysqladmin이 설치되어 있는 다른 EC2 인스턴스에 로그인하여 실행합니다.

mysqladmin -h <RDS ENDPOINT URL> -P 3306 -u <USER> -p flush-hosts

패스워드를 입력하도록 요구됩니다.

max_connect_errors 값을 초과하여 Amazon RDS 인스턴스가 차단되면 인스턴스에서 실행 중인 MySQL Server가 해당 시점에서 해당 호스트의 연결을 차단하므로 연결 오류를 생성한 호스트를 사용하여 "flush hosts" 명령을 실행할 수 없습니다.

따라서 해당 RDS 인스턴스에 액세스할 수 있는 다른 EC2 인스턴스 또는 원격 서버에서 "flush hosts" 명령을 실행해야 합니다.

mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts

새로운 인스턴스를 기동하거나 외부 접근을 허용하기 위해 Security Group을 작성/변경하는 경우 RDS 사용자 인터페이스에 로그인하여 차단된 RDS 인스턴스를 재부팅하는 것이 더 빠를 수 있습니다.

AWS 관리 콘솔에서 재부팅하여 RDS 인스턴스에서 이 오류를 수정했습니다.HTH

[편집: lol down votes]

Amazon Amazon RDS의 FLUSH HOSTS;는 기본 사용자("RDS 정보에서는 마스터 사용자 이름")에서 실행할 수 있으며 도움이 됩니다.

호스트가 차단되어 있기 때문입니다.다른 호스트에서 연결을 시도하고 mysqladmin flash-module 명령을 실행합니다.

mysqladmin -h <RDS ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts

RDS를 컴퓨터에 연결해야 합니다.이 컴퓨터에 설치된 mysql은 SSH를 사용하여 호스팅하는 VPS 중 하나를 사용했습니다.

VPS에 로그인한 후(i used putty), 프롬프트에서 다음 명령을 입력했습니다.

mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts

RDS Admin에서 데이터베이스를 재시작할 수 있습니다.

다음 명령을 사용하여 호스트의 로컬 MySQL을 플러시할 수 있습니다.

mysqladmin -u [username] -p flush-hosts
**** [MySQL password]

또는

mysqladmin flush-hosts -u [username] -p
**** [MySQL password]

Amazon RDS 데이터베이스 서버가 네트워크에 있지만 플래시 네트워크 MySQL 서버와 같이 다음 명령을 사용합니다.

mysqladmin -h <RDS ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts 

또한 my.ini 파일[Mysql 구성 파일]을 편집하여 많은 접속이 차단된 오류를 영구적으로 해결할 수 있습니다.

변수 max_connections 변경 = 10000;

또는

명령줄을 사용하여 MySQL에 로그인합니다.

mysql -u [username] -p
**** [MySQL password]

다음 명령어를 MySQL 창에 넣습니다.

SET GLOBAL max_connect_errors=10000;
set global max_connections = 200;

명령어를 사용하여 검증 가능 여부를 확인합니다.

show variables like "max_connections";
show variables like "max_connect_errors";

고객님이 Heidi SQL 클라이언트를 사용하던 중 오늘 이 오류가 발생했습니다.

단순히 문제의 rds와 통신하는 ec2의 'mysqlroot'를 사용하여 연결한 후 'flush hosts;' cmd를 발행했습니다.

언급URL : https://stackoverflow.com/questions/8014358/how-to-run-command-mysqladmin-flush-hosts-on-amazon-rds-database-server-instan

반응형