이 글은 MariaDB 공식문서와 Amazon RDS의 MariaDB 레퍼런스를 참고하여 작성되었다.
MariaDB 에서 CALL 은 이전에 CREATE PROCEDURE 로 정의하여 저장된 프로시저를 호출한다.
아래에서 p는 프로시저의 약자이다.
CALL p
CALL p와 CALL p()는 동일하다.
단, 괄호를 사용할 경우에는 절차 이름과 괄호 사이의 공백,탭 문자(/t), 줄 바꿈(/n) 문자가 허용된다.
저장된 프로시저의 이름은 아래와 같이 지정할 수 있다. 이 글의 아래에 설명된 mysql.rds_replica_status가 그 예시이다.
database_name.procedure_name (데이터베이스이름.절차이름)
MariaDB 엔진을 실행하는 Amazon RDS 인스턴스에 사용가능한 시스템 저장 프로시저는 3가지가 있다. 이 시스템 저장 프로시저들은 MariaDB 기반의 Amazon RDS 인스턴스 에서만 지원되는 것을 명심하자.
읽기 복제본 MariaDB의 복제 상태를 표시해주는 프로시저이다.
CALL mysql.rds_replica_status;
이 프로시저에 대한 자세한 포스팅은 따로 해놨다. (내용이 많다..)
링크는 아래와 같다.
[AWS_RDS_MariaDB] mysql.rds_replica_status
Amazon RDS 외부에서 실행되는 MariaDB 인스턴스에서 MariaDB on Amazon RDS 인스턴스로 GTID 기반 복제를 설정할때 사용한다. 두 인스턴스 모두 혹은 둘 중 하나의 인스턴스에서 MariaDB GTID를 지원하지 않는데, 이 복제를 설정해야할 때 rds_set_external_master_gtid 프로시저를 사용한다.
Gtid는 MySQL 데이터베이스에서 커밋이 되는 트랙잭션과 함께 생성되고, 트랜잭션에 연결되는 고유 식별자이다. gtid에 대한 정보가 더 궁금하다면 여기를 클릭!
CALL mysql.rds_set_external_master_gtid(
host_name
, host_port
, replication_user_name
, replication_user_password
, gtid
, ssl_encryption
);
예시
call mysql.rds_set_external_master_gtid(
'Sourcedb.some.com'
,3306
,'ReplicationUser'
,'SomePassW0rd'
,'0-123-456'
,0
;
SSL(Secure Socket Layer)이란?
: 암호화 기반 인터넷 보안 프로토콜. SSL/TLS를 사용하는 웹사이트 URL에는 "HTTP" 대신 "HTTPS"가 있다.
MariaDB 서버에서 실행 중인 쿼리를 종료합니다.
CALL mysql.rds_kill_query_id(queryID);
call mysql.rds_kill_query_id(230040); << 쿼리ID가 230040인 쿼리를 종료함.
SELECT USER, HOST, COMMAND, TIME, STATE, INFO, QUERY_ID FROM
INFORMATION_SCHEMA.PROCESSLIST WHERE USER = '<user name>';