MySQL, MariaDB, SingleStore

이 안내를 사용하는 언어

MySQL, MariaDB, SingleStore(이전 명칭: MemSQL)는 이 페이지에 설명된 데이터베이스 설정 요구사항을 공유합니다.

네트워크 트래픽 암호화

Looker 애플리케이션과 데이터베이스 사이에 네트워크 트래픽을 암호화하는 것이 가장 좋습니다. 안전한 데이터베이스 액세스 사용 설정 문서 페이지에 설명된 옵션 중 하나를 고려해 보세요.

SSL 암호화를 사용하려면 이 MySQL 문서 페이지를 참조하세요.

사용자 및 보안

Looker 사용자에게 필요한 액세스 권한을 만들고 부여하려면 데이터베이스 언어 및 버전에 해당하는 섹션의 안내를 따르세요.

MySQL 8.0.X:

MySQL 8.0.X에서 기본 인증 플러그인은 caching_sha2_password입니다. Looker는 mysql_native_password 플러그인을 사용하여 JDBC 드라이버를 통해 MySQL 데이터베이스에 인증을 시도합니다. 이 버전의 MySQL이 제대로 작동하려면 다음과 같은 추가 단계를 수행해야 합니다.

  1. mysql_native_password 플러그인을 사용하도록 MySQL 데이터베이스를 구성합니다. 이 작업은 여러 방법으로 수행할 수 있으며, MySQL 8 데이터베이스가 배포되는 방식과 구성에 대한 액세스 유형에 따라 달라집니다.

    • --default-auth=mysql_native_password 플래그를 사용하여 프로세스를 시작합니다.

    • my.cnf 구성 파일의 속성을 설정합니다.

    [mysqld]
    default-authentication-plugin=mysql_native_password
    
    • 데이터베이스 인스턴스가 AWS RDS를 통해 호스팅되는 경우 이 데이터베이스 인스턴스에 적용되는 RDS 매개변수 그룹을 통해 default_authentication_plugin 매개변수를 설정합니다.
  2. 다음 명령어를 실행하고 some_password_here를 고유한 보안 비밀번호로 바꿉니다.

    CREATE USER looker IDENTIFIED WITH mysql_native_password BY 'some_password_here';
    GRANT SELECT ON database_name.* TO 'looker'@'%';
    

MySQL 5.7.X 이하, MariaDB, SingleStore:

다음 명령어를 실행하고 some_password_here를 고유한 보안 비밀번호로 바꿉니다.

CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('some_password_here');
GRANT SELECT ON database_name.* TO 'looker'@'%';

영구 파생 테이블의 임시 스키마 설정

이러한 데이터베이스 언어는 영구 파생 테이블 (PDT) 생성을 지원합니다. 이 기능은 매우 유용할 수 있으며 가능하면 사용 설정하는 것이 좋습니다.

PDT를 사용 설정하려면 임시 스키마를 구성해야 합니다. 다음 명령어는 임시 데이터베이스를 만들고 looker 사용자에게 필요한 권한을 부여하는 예시를 보여줍니다.

데이터베이스 연결을 만들 때 임시 데이터베이스 필드에 임시 데이터베이스의 이름을 지정할 수 있습니다. 임시 데이터베이스의 이름을 지정하지 않으면 Looker가 looker_tmp라는 스크래치 데이터베이스를 생성합니다. 다음 명령어는 looker_tmp를 사용하지만 다른 임시 데이터베이스 이름을 지정한 경우 looker_tmp 대신 임시 데이터베이스 이름을 사용합니다.

CREATE SCHEMA looker_tmp;
GRANT
  SELECT,
  INDEX,
  INSERT,
  UPDATE,
  DELETE,
  CREATE,
  DROP,
  ALTER,
  CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';

SingleStore의 경우 또는 데이터베이스에 GTID 기반 복제를 사용하는 경우 GTID가 CREATE TABLE AS SELECT 문을 지원하지 않으므로 create_process LookML 매개변수를 사용하여 PDT를 사용해야 합니다.

일반 파생 테이블의 대체 설정

영구 파생 테이블 생성을 허용하지 않더라도 일반 파생 테이블을 사용할 수 있습니다. 일반 파생 테이블을 사용하려면 looker_tmp라는 스키마에 특정 권한을 추가해야 합니다. 그러나 looker_tmp 스키마가 실제로 데이터베이스에 있을 필요는 없습니다.

GRANT
  SELECT,
  INDEX,
  INSERT,
  DROP,
  CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
-- Note that the looker_tmp schema does not need to actually exist,
-- even though these permission grants are still needed

max_allowed_packet 변수 설정

MySQL의 경우 "SQLException: 쿼리의 패킷이 너무 큼" 오류를 방지하려면 MySQL max_allowed_packet 변수를 최댓값인 1073741824로 설정합니다.

데이터베이스에 대한 Looker 연결 만들기

데이터베이스 구성을 완료하면 Looker에서 데이터베이스에 연결할 수 있습니다. 다음 단계에 따라 Looker에서 데이터베이스로 이어지는 연결을 만듭니다.

  1. Looker의 관리 섹션에서 연결을 선택한 후 연결 추가를 클릭합니다.
  2. 언어 드롭다운 메뉴에서 데이터베이스 언어 이름으로 MySQL, MySQL 8.0.12 이상, MariaDB, SingleStore 또는 SingleStore 7 이상을 선택합니다.

  3. 연결 세부정보를 작성합니다. 대다수의 설정은 대부분의 데이터베이스 언어에 공통적으로 적용됩니다. 자세한 내용은 데이터베이스에 Looker 연결 문서 페이지를 참조하세요.

  4. 제대로 연결되었는지 확인하려면 테스트를 클릭합니다. 문제 해결 정보는 데이터베이스 연결 테스트 문서 페이지를 참조하세요.

  5. 이러한 설정을 저장하려면 연결을 클릭합니다.

기능 지원

Looker가 특정 기능을 지원하려면 데이터베이스 언어도 해당 기능을 지원해야 합니다.

MySQL은 Looker 24.8부터 다음 기능을 지원합니다.

특성 지원 여부
지원 수준
지원됨
Looker(Google Cloud 핵심 서비스)
아니요
대칭 집계
파생 테이블
영구 SQL 파생 테이블
영구 기본 파생 테이블
안정적인 뷰
쿼리 종료
SQL 기반 피벗
시간대
SSL
소계
JDBC 추가 파라미터
대소문자 구분
아니요
위치 유형
목록 유형
백분위수
고유 백분위수
SQL Runner 표시 프로세스
SQL Runner 설명 테이블
SQL Runner 표시 색인
SQL Runner 선택 10
SQL Runner 카운트
SQL 설명
OAuth 사용자 인증 정보
아니요
컨텍스트 주석
연결 풀링
아니요
HLL 스케치
아니요
집계 인식
증분 PDT
밀리초
마이크로초
구체화된 뷰
아니요
대략적인 고유값
No

MySQL 8.0.12 이상에서는 Looker 24.8부터 다음 기능을 지원합니다.

특성 지원 여부
지원 수준
지원됨
Looker(Google Cloud 핵심 서비스)
대칭 집계
파생 테이블
영구 SQL 파생 테이블
영구 기본 파생 테이블
안정적인 뷰
쿼리 종료
SQL 기반 피벗
시간대
SSL
소계
JDBC 추가 파라미터
대소문자 구분
아니요
위치 유형
목록 유형
백분위수
고유 백분위수
SQL Runner 표시 프로세스
SQL Runner 설명 테이블
SQL Runner 표시 색인
SQL Runner 선택 10
SQL Runner 카운트
SQL 설명
OAuth 사용자 인증 정보
아니요
컨텍스트 주석
연결 풀링
아니요
HLL 스케치
아니요
집계 인식
증분 PDT
밀리초
마이크로초
구체화된 뷰
아니요
대략적인 고유값
No

MariaDB는 Looker 24.8부터 다음 기능을 지원합니다.

특성 지원 여부
지원 수준
지원됨
Looker(Google Cloud 핵심 서비스)
대칭 집계
파생 테이블
영구 SQL 파생 테이블
영구 기본 파생 테이블
안정적인 뷰
쿼리 종료
SQL 기반 피벗
아니요
시간대
SSL
소계
JDBC 추가 파라미터
대소문자 구분
아니요
위치 유형
목록 유형
백분위수
고유 백분위수
SQL Runner 표시 프로세스
SQL Runner 설명 테이블
SQL Runner 표시 색인
SQL Runner 선택 10
SQL Runner 카운트
SQL 설명
OAuth 사용자 인증 정보
아니요
컨텍스트 주석
연결 풀링
아니요
HLL 스케치
아니요
집계 인식
증분 PDT
아니요
밀리초
마이크로초
구체화된 뷰
아니요
대략적인 고유값
No

SingleStore는 Looker 24.8부터 다음 기능을 지원합니다.

특성 지원 여부
지원 수준
지원됨
Looker(Google Cloud 핵심 서비스)
아니요
대칭 집계
파생 테이블
영구 SQL 파생 테이블
영구 기본 파생 테이블
안정적인 뷰
쿼리 종료
SQL 기반 피벗
시간대
SSL
소계
JDBC 추가 파라미터
대소문자 구분
아니요
위치 유형
목록 유형
백분위수
아니요
고유 백분위수
아니요
SQL Runner 표시 프로세스
SQL Runner 설명 테이블
SQL Runner 표시 색인
SQL Runner 선택 10
SQL Runner 카운트
SQL 설명
OAuth 사용자 인증 정보
아니요
컨텍스트 주석
연결 풀링
아니요
HLL 스케치
아니요
집계 인식
증분 PDT
아니요
밀리초
마이크로초
구체화된 뷰
아니요
대략적인 고유값
No

SingleStore 7 이상에서는 Looker 24.8부터 다음 기능을 지원합니다.

특성 지원 여부
지원 수준
지원됨
Looker(Google Cloud 핵심 서비스)
대칭 집계
파생 테이블
영구 SQL 파생 테이블
영구 기본 파생 테이블
안정적인 뷰
쿼리 종료
SQL 기반 피벗
시간대
SSL
소계
JDBC 추가 파라미터
대소문자 구분
아니요
위치 유형
목록 유형
백분위수
고유 백분위수
아니요
SQL Runner 표시 프로세스
SQL Runner 설명 테이블
SQL Runner 표시 색인
SQL Runner 선택 10
SQL Runner 카운트
SQL 설명
OAuth 사용자 인증 정보
아니요
컨텍스트 주석
연결 풀링
아니요
HLL 스케치
아니요
집계 인식
증분 PDT
아니요
밀리초
마이크로초
구체화된 뷰
아니요
대략적인 고유값
아니요