이 안내를 사용하는 언어
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이 제대로 작동하려면 다음과 같은 추가 단계를 수행해야 합니다.
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
매개변수를 설정합니다.
다음 명령어를 실행하고
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에서 데이터베이스로 이어지는 연결을 만듭니다.
- Looker의 관리 섹션에서 연결을 선택한 후 연결 추가를 클릭합니다.
언어 드롭다운 메뉴에서 데이터베이스 언어 이름으로 MySQL, MySQL 8.0.12 이상, MariaDB, SingleStore 또는 SingleStore 7 이상을 선택합니다.
연결 세부정보를 작성합니다. 대다수의 설정은 대부분의 데이터베이스 언어에 공통적으로 적용됩니다. 자세한 내용은 데이터베이스에 Looker 연결 문서 페이지를 참조하세요.
제대로 연결되었는지 확인하려면 테스트를 클릭합니다. 문제 해결 정보는 데이터베이스 연결 테스트 문서 페이지를 참조하세요.
이러한 설정을 저장하려면 연결을 클릭합니다.
기능 지원
Looker가 특정 기능을 지원하려면 데이터베이스 언어도 해당 기능을 지원해야 합니다.
MySQL은 Looker 24.18부터 다음 기능을 지원합니다.
기능 | 지원 여부 |
---|---|
지원 수준 | 지원됨 |
Looker(Google Cloud 핵심 서비스) | 아니요 |
대칭 집계 | 예 |
파생 테이블 | 예 |
영구 SQL 파생 테이블 | 예 |
영구 기본 파생 테이블 | 예 |
안정적인 뷰 | 예 |
쿼리 종료 | 예 |
SQL 기반 피벗 | 예 |
시간대 | 예 |
SSL | 예 |
소계 | 예 |
JDBC 추가 파라미터 | 예 |
대소문자 구분 | 아니요 |
위치 유형 | 예 |
목록 유형 | 예 |
백분위수 | 예 |
고유 백분위수 | 예 |
SQL Runner 표시 프로세스 | 예 |
SQL Runner 설명 테이블 | 예 |
SQL Runner 표시 색인 | 예 |
SQL Runner 선택 10 | 예 |
SQL Runner 카운트 | 예 |
SQL 설명 | 예 |
OAuth 사용자 인증 정보 | 아니요 |
컨텍스트 주석 | 예 |
연결 풀링 | 아니요 |
HLL 스케치 | 아니요 |
집계 인식 | 예 |
증분 PDT | 예 |
밀리초 | 예 |
마이크로초 | 예 |
구체화된 뷰 | 아니요 |
대략적인 고유값 | 아니요 |
MySQL 8.0.12 이상에서는 Looker 24.18부터 다음 기능을 지원합니다.
기능 | 지원 여부 |
---|---|
지원 수준 | 지원됨 |
Looker(Google Cloud 핵심 서비스) | 예 |
대칭 집계 | 예 |
파생 테이블 | 예 |
영구 SQL 파생 테이블 | 예 |
영구 기본 파생 테이블 | 예 |
안정적인 뷰 | 예 |
쿼리 종료 | 예 |
SQL 기반 피벗 | 예 |
시간대 | 예 |
SSL | 예 |
소계 | 예 |
JDBC 추가 파라미터 | 예 |
대소문자 구분 | 아니요 |
위치 유형 | 예 |
목록 유형 | 예 |
백분위수 | 예 |
고유 백분위수 | 예 |
SQL Runner 표시 프로세스 | 예 |
SQL Runner 설명 테이블 | 예 |
SQL Runner 표시 색인 | 예 |
SQL Runner 선택 10 | 예 |
SQL Runner 카운트 | 예 |
SQL 설명 | 예 |
OAuth 사용자 인증 정보 | 아니요 |
컨텍스트 주석 | 예 |
연결 풀링 | 아니요 |
HLL 스케치 | 아니요 |
집계 인식 | 예 |
증분 PDT | 예 |
밀리초 | 예 |
마이크로초 | 예 |
구체화된 뷰 | 아니요 |
대략적인 고유값 | 아니요 |
MariaDB는 Looker 24.18부터 다음 기능을 지원합니다.
기능 | 지원 여부 |
---|---|
지원 수준 | 지원됨 |
Looker(Google Cloud 핵심 서비스) | 예 |
대칭 집계 | 예 |
파생 테이블 | 예 |
영구 SQL 파생 테이블 | 예 |
영구 기본 파생 테이블 | 예 |
안정적인 뷰 | 예 |
쿼리 종료 | 예 |
SQL 기반 피벗 | 아니요 |
시간대 | 예 |
SSL | 예 |
소계 | 예 |
JDBC 추가 파라미터 | 예 |
대소문자 구분 | 아니요 |
위치 유형 | 예 |
목록 유형 | 예 |
백분위수 | 예 |
고유 백분위수 | 예 |
SQL Runner 표시 프로세스 | 예 |
SQL Runner 설명 테이블 | 예 |
SQL Runner 표시 색인 | 예 |
SQL Runner 선택 10 | 예 |
SQL Runner 카운트 | 예 |
SQL 설명 | 예 |
OAuth 사용자 인증 정보 | 아니요 |
컨텍스트 주석 | 예 |
연결 풀링 | 아니요 |
HLL 스케치 | 아니요 |
집계 인식 | 예 |
증분 PDT | 아니요 |
밀리초 | 예 |
마이크로초 | 예 |
구체화된 뷰 | 아니요 |
대략적인 고유값 | 아니요 |
SingleStore는 Looker 24.18부터 다음 기능을 지원합니다.
기능 | 지원 여부 |
---|---|
지원 수준 | 지원됨 |
Looker(Google Cloud 핵심 서비스) | 아니요 |
대칭 집계 | 예 |
파생 테이블 | 예 |
영구 SQL 파생 테이블 | 예 |
영구 기본 파생 테이블 | 예 |
안정적인 뷰 | 예 |
쿼리 종료 | 예 |
SQL 기반 피벗 | 예 |
시간대 | 예 |
SSL | 예 |
소계 | 예 |
JDBC 추가 파라미터 | 예 |
대소문자 구분 | 아니요 |
위치 유형 | 예 |
목록 유형 | 예 |
백분위수 | 아니요 |
고유 백분위수 | 아니요 |
SQL Runner 표시 프로세스 | 예 |
SQL Runner 설명 테이블 | 예 |
SQL Runner 표시 색인 | 예 |
SQL Runner 선택 10 | 예 |
SQL Runner 카운트 | 예 |
SQL 설명 | 예 |
OAuth 사용자 인증 정보 | 아니요 |
컨텍스트 주석 | 예 |
연결 풀링 | 아니요 |
HLL 스케치 | 아니요 |
집계 인식 | 예 |
증분 PDT | 아니요 |
밀리초 | 예 |
마이크로초 | 예 |
구체화된 뷰 | 아니요 |
대략적인 고유값 | 아니요 |
SingleStore 7 이상에서는 Looker 24.18부터 다음 기능을 지원합니다.
기능 | 지원 여부 |
---|---|
지원 수준 | 지원됨 |
Looker(Google Cloud 핵심 서비스) | 예 |
대칭 집계 | 예 |
파생 테이블 | 예 |
영구 SQL 파생 테이블 | 예 |
영구 기본 파생 테이블 | 예 |
안정적인 뷰 | 예 |
쿼리 종료 | 예 |
SQL 기반 피벗 | 예 |
시간대 | 예 |
SSL | 예 |
소계 | 예 |
JDBC 추가 파라미터 | 예 |
대소문자 구분 | 아니요 |
위치 유형 | 예 |
목록 유형 | 예 |
백분위수 | 예 |
고유 백분위수 | 아니요 |
SQL Runner 표시 프로세스 | 예 |
SQL Runner 설명 테이블 | 예 |
SQL Runner 표시 색인 | 예 |
SQL Runner 선택 10 | 예 |
SQL Runner 카운트 | 예 |
SQL 설명 | 예 |
OAuth 사용자 인증 정보 | 아니요 |
컨텍스트 주석 | 예 |
연결 풀링 | 아니요 |
HLL 스케치 | 아니요 |
집계 인식 | 예 |
증분 PDT | 아니요 |
밀리초 | 예 |
마이크로초 | 예 |
구체화된 뷰 | 아니요 |
대략적인 고유값 | 아니요 |