본문으로 건너뛰기

MySQL 서비스 이용 시 문제

본 문서는 내외부 환경에서 MySQL 서비스를 연결하거나 서비스 이용 중 발생하는 문제와 해결 방법을 설명합니다.


동일한 VPC에서 Client 인스턴스와 MySQL 인스턴스에 연결할 수 없음

MySQL 인스턴스(클러스터)의 엔드포인트로 3306, 3307 포트에 접속이 되지 않는 공통적인 원인은 다음과 같습니다.

가용성

  1. 새로 생성한 DB 인스턴스의 경우 DB 인스턴스를 사용할 준비가 될 때까지 DB 인스턴스의 상태는 Creating 입니다. 인스턴스의 상태가 Available로 변경되면 DB 인스턴스에 연결할 수 있습니다. 인스턴스 그룹의 가용성 상태를 참고하시기 바랍니다.

    인스턴스 그룹의 상태가용성 상태설명
    AVAILABLE      READY     모든 구성의 준비됨

DB 인스턴스 연결 테스트

  1. Linux 또는 Unix 터미널에서 DB 인스턴스에 대한 연결을 테스트할 수 있습니다.

    Linux 또는 Unix 터미널에서 다음을 입력하여 연결을 테스트할 수 있습니다. DB-INSTANCE-ENDPOINT를 엔드포인트로 대체하고 PORT를 DB 인스턴스의 포트로 대체합니다.

    인스턴스 상태 테스트
    nc -vz "DB-INSTANCE-ENDPOINT" "PORT"

    예를 들어, 다음은 샘플 명령과 반환 값을 보여 줍니다.

    샘플 테스트
    ubuntu@host-172-16-3-252:~$ nc -vz "DB-INSTANCE-ENDPOINT" "PORT"
    Connection to "DB-INSTANCE-ENDPOINT" (172.16.3.154) "PORT" port [tcp/mysql] succeeded!
  2. Microsoft Windows 도구를 사용하여 DB 인스턴스에 대한 연결을 테스트할 수 있습니다.

    Windows 사용자는 Telnet을 사용하여 DB 인스턴스에 대한 연결을 테스트 할수 있습니다. Telnet 작업은 연결 테스트 이외의 목적으로는 지원되지 않습니다. 연결에 성공한 경우 이 작업을 수행할 때 아무런 메시지도 반환되지 않습니다. 연결에 실패한 경우 다음과 같은 오류 메시지가 수신됩니다.

    연결 테스트
    C:\Users\Administrator>telnet "DB-INSTANCE-ENDPOINT" "PORT"
    연결 대상 "DB-INSTANCE-ENDPOINT"...호스트에 연결할 수 없습니다. 포트 "PORT": 연결하지 못했습니다.

DB 인스턴스 소유자 암호 분실

  1. DB 인스턴스의 소유자 암호를 분실하여 로그인 할 수 없을 경우 카카오클라우드 헬프데스크로 문의를 해주시길 바랍니다.

    구분설명
    {MySQL-ADMIN-PASSWORD}   ⚠️ 관리자 계정 패스워드는 데이터베이스 구동 이후에 변경 가능
    ⚠️ 데이터베이스 구동 후 사용자가 변경한 관리자 계정 패스워드는 확인 불가

DB 인스턴스 스토리지 부족

  1. 기본/로그 스토리지의 공간이 부족할 경우 DB 인스턴스에서의 원활한 작업이 불가할 수 있습니다. DB 인스턴스의 스토리지 사용량이 80% 이하를 유지할 수 있도록 볼륨 확장 기능을 통해 스토리지를 확장해주시길 바랍니다.

    예를 들어, 다음은 샘플 구문 명령과 반환 값을 보여 줍니다.

    샘플 구문 실행 실패
    mysql> create table test(test_name varchar(20), test_age int);
    "아무런 반응 없음"

Monitoring > 로그 탐색기에서 슬로우 쿼리를 조회할 수 없습니다.

MySQL 서비스에서 슬로우 쿼리(Slow Query)에 대한 기본 저장 설정은 파일로 저장됩니다. 해당 파일은 직접 접근이 되는 구조는 아니며, Monitoring에서 로그 탐색기에서 확인할 수 있습니다.

5일이 초과한 로그를 확인해야 할 경우

기본적으로 로그 탐색기에서는 최대 5일까지의 슬로우 쿼리 로그 적재 데이터를 확인할 수 있으며, 5일이 지난 로그는 확인할 수 없습니다.
만약, 5일이 경과한 로그를 확인해야 할 경우에는 Stored Procedure 이용하기를 참고하여, 로그 적재 기준을 파일에서 테이블로 변경하시기 바랍니다.

5일을 초과하지 않았으나 로그 확인이 불가한 경우

카카오클라우드 헬프데스크로 문의하시기 바랍니다.

SSH 에러 메시지

ERROR 1044 (42000): Access denied for user 'user'@'%' to database 'database'

이 에러는 사용자를 생성하고 권한을 부여하는 과정에서 발생합니다.

MySQL CLI
mysql> CREATE USER 'user'@'%' IDENTIFIED BY '1234';
mysql> GRANT ALL PRIVILEGES ON user.* TO 'user'@'%';
ERROR 1044 (42000): Access denied for user 'admin'@'%' to database 'database'

▶️ 계정 생성 및 권한 등록은 카카오클라우드 MySQL애서 제공되는 기본 저장 프로시저를 통해 관리할 수 있습니다. 자세한 설명은 계정 설정 및 권한을 참고하시기 바랍니다.