MySQL Stored Procedure로 DB 생성 및 계정 관리

Classic 환경에서 이용 가능합니다.

MySQL Stored Procedure는 일련의 절차를 수행하는 SQL 구문을 CALL function(); 형태로 실행할 수 있도록 정리한 것입니다.
사용자 계정 생성, 신규 데이터베이스 생성, 패스워드 변경, 생성된 계정 목록 확인의 네 가지 기능을 제공합니다.

MySQL Stored Procedure를 실행하려면 데이터베이스가 설치된 클러스터 서버에 접속한 후 MySQL DB에 접근해야 합니다.

MySQL DB에 접근하는 방법은 다음과 같습니다.

  1. 클러스터 서버에 직접 접속해 주십시오. (SSH로 클러스터 노드 접속 참고)

  2. 다음 명령어를 실행하여 MySQL DB에 접근해 주십시오.

    • <사용자 계정>에 사용자 계정을 입력하고 실행한 후, Enter password:가 표시되면 계정 패스워드를 입력해 주십시오.
    $ mysql -h mysql.local -u <사용자계정> -p
    Enter password: 패스워드
    
    Plain text

생성된 프로시저를 확인하는 방법은 다음과 같습니다.

  1. show databases; 명령어를 실행하여 출력되는 DB 리스트 중에서 다음 명령어로 ambari DB에 접근해 주십시오.
    • ambari_{고유번호} 위치에 실제 접근할 데이터베이스 이름을 입력해 주십시오.
    use ambari_{고유번호};
    
    Plain text
  2. show procedure status; 명령어를 실행한 후 ambari DB에 생성된 4개의 프로시저를 확인해 주십시오.
  • 현재 사용 가능한 프로시저 : CHANGE_PW, CHECK_USER, CREATE_DB, CREATE_USER
    cloudhadoop-sql-procedure1_ko

데이터베이스를 생성하는 방법은 다음과 같습니다.

  1. CREATE_DB 프로시저로 생성할 데이터베이스 이름을 입력해 주십시오.

    • 데이터베이스 이름 예: new_database
    call CREATE_DB('new_database');
    
    Plain text
  2. show databases; 명령어를 실행하여 새로 만들어진 데이터베이스를 확인해 주십시오.
    cloudhadoop-sql-procedure2_ko

사용자 계정 생성 및 사용자 계정 목록을 확인하는 방법은 다음과 같습니다.

  1. CREATE_USER 프로시저로 새로 생성할 사용자 계정과 패스워드를 입력해 주십시오.
    • 사용자 계정 예: new_user
    • 패스워드 예: password!
    call CREATE_USER('new_user', 'password1!');
    
    Plain text
  2. CHECK_USER 프로시저로 사용자 계정이 생성되었는지 계정 목록을 확인해 주십시오.
    call CHECK_USER();
    
    Plain text

cloudhadoop-sql-procedure3_ko

패스워드를 변경하는 방법은 다음과 같습니다.

  1. CHANGE_PW 프로시저로 패스워드를 변경할 계정명과 새로운 패스워드를 입력해 주십시오.
    • 대상 사용자 계정 예: new_user
    • 변경 패스워드 예: change_pw2@
    call CHANGE_PW('new_user', 'change_pw2@');
    
    Plain text
  2. Query OK 메시지가 출력되었는지 확인해 주십시오. 정상적으로 출력되면 이후부터 변경된 패스워드로 접속할 수 있습니다.
    cloudhadoop-sql-procedure4_ko