Cloud SQL 버전의 MySQL 기능
MySQL용 Cloud SQL의 Cloud SQL Enterprise Plus 버전과 Cloud SQL Enterprise 버전의 기능에 대한 자세한 내용은 Cloud SQL 버전 소개를 참조하세요.
Cloud SQL에서 지원되는 일반 MySQL 기능
- 클라우드의 완전 관리형 MySQL Community Edition 데이터베이스
- 미주, EU, 아시아, 오스트레일리아에서 사용 가능한 인스턴스. Cloud SQL 인스턴스를 만들 수 있는 모든 위치를 참조하세요.
- Database Migration Service(DMS)를 사용하여 소스 데이터베이스에서 Cloud SQL 대상 데이터베이스로 마이그레이션을 지원함
- Google의 내부 네트워크와 데이터베이스 테이블, 임시 파일, 백업에서 암호화되는 고객 데이터
- Cloud SQL 인증 프록시 또는 SSL/TLS 프로토콜을 사용한 보안 외부 연결 지원
- 비공개 IP(비공개 서비스 액세스) 지원
- 자동 장애 조치로 여러 영역 간에 데이터 복제*
mysqldump
를 사용한 데이터베이스 가져오기와 내보내기 또는 CSV 파일 가져오기와 내보내기- MySQL 유선 프로토콜 및 표준 MySQL 커넥터 지원
- 자동 백업, 주문형 백업, PITR(point-in-time recovery)
- 인스턴스 클론
- Google Cloud Observability 로깅 및 모니터링과 통합
- ISO/IEC 27001 준수
* 멕시코, 몬트리올, 오사카 리전은 1~2개의 물리적 데이터 센터에 영역 3개가 있습니다. 이러한 리전은 최소 3개의 물리적 데이터 센터로 확장 중입니다. 자세한 내용은 클라우드 위치 및 Google Cloud Platform SLA를 참고하세요. 워크로드의 안정성을 개선하려면 멀티 리전 배포를 고려하세요.
MySQL용 Cloud SQL에서 지원되는 애플리케이션 언어
Cloud SQL은 다음 언어로 작성된 가변형 환경에서 실행되는 App Engine 애플리케이션과 함께 사용할 수 있습니다.
- C#
- Go
- 자바
- Node.js
- PHP
- Python
- Ruby
Cloud SQL을 표준 MySQL 프로토콜을 사용하는 외부 애플리케이션과 함께 사용할 수도 있습니다.
MySQL용 Cloud SQL 인스턴스에 연결하는 방법
다음 항목에서 Cloud SQL 인스턴스에 연결할 수 있습니다.
mysql
클라이언트- SQL Workbench 또는 Toad for MySQL와 같은 서드 파티 도구
- 외부 애플리케이션
- App Engine 애플리케이션
- Compute Engine에서 실행되는 애플리케이션.
- Google Kubernetes Engine에서 실행되는 애플리케이션
- Cloud Run Functions
- Cloud Run
- Google Apps Script 스크립트
비공개 Google 액세스로는 Cloud SQL에 연결할 수 없습니다. 비공개 서비스 액세스가 지원됩니다. 자세한 내용은 서비스 비공개 액세스 옵션을 참조하세요.
MySQL용 Cloud SQL 8.0에서 사용자 관리
MySQL 8.0의 변경사항으로 인해 MySQL 사용자 관리에 CREATE
또는 DELETE
문을 사용할 수 없습니다. INSERT
, UPDATE
, DELETE
문을 사용하여 사용자 권한을 수정할 수도 없습니다. 대신 CREATE USER
, DROP USER
, GRANT
, REVOKE
문을 사용하여 사용자 권한을 수정합니다. 자세한 내용은 계정 관리 참고사항을 참조하세요.
참고: 계정 관리 참고사항에서 mysql_upgrade
를 실행하여 버전 8.0으로 업그레이드에 대한 정보는 무시하세요. 대신 인스턴스에서 MySQL 업그레이드의 절차에 따라 업그레이드하세요.
표준 MySQL 및 MySQL용 Cloud SQL 간의 차이점
일반적으로 Cloud SQL 인스턴스에서 제공하는 MySQL 기능은 로컬에서 호스팅되는 MySQL 인스턴스가 제공하는 기능과 동일합니다. 하지만 표준 MySQL 인스턴스와 Cloud SQL 인스턴스에는 몇 가지 차이점이 있습니다.
Cloud SQL에서 지원되지 않는 MySQL 기능
다음 기능은 MySQL용 Cloud SQL 5.6 및 5.7에서 지원되지 않습니다.
다음 기능은 MySQL용 Cloud SQL 8.0에서 지원되지 않습니다.
다음 기능은 MySQL용 Cloud SQL 8.4에서 지원되지 않습니다.
- 태그된 GTID 태그된 GTID에 대한 자세한 내용은 MySQL 8.4 출시 노트의 MySQL 8.4에서 추가되거나 변경된 기능 섹션에 있는 'MySQL 복제: 태그된 GTID'를 참조하세요.
또한 MySQL용 Cloud SQL은 MySQL 8.4에 도입된 다음 권한을 부여하지 않습니다.
Cloud SQL에서 지원되지 않는 MySQL 플러그인
Cloud SQL에서 지원되지 않는 MySQL 문
다음 SQL 문은 Error 1290:
The MySQL server is running with the Google option so it cannot execute this
statement
메시지와 함께 오류를 생성합니다.
LOAD DATA INFILE
SELECT ... INTO OUTFILE
SELECT ... INTO DUMPFILE
INSTALL PLUGIN ...
UNINSTALL PLUGIN
CREATE FUNCTION ... SONAME ...
MySQL 인스턴스에서는 GTID 복제를 사용하므로 다음 문은 지원되지 않습니다.
CREATE TABLE ... SELECT
문- 트랜잭션 및 비트랜잭션 테이블을 모두 업데이트하는 트랜잭션이나 문
다음 MySQL 문은 MySQL용 Cloud SQL 5.6 및 5.7에서 지원되지 않지만 MySQL용 Cloud SQL 8.0에서는 지원됩니다.
- 트랜잭션 내
CREATE TEMPORARY TABLE
문
자세한 내용은 MySQL 문서를 참조하세요.
Cloud SQL에서 지원되지 않는 MySQL 함수
LOAD_FILE()
Cloud SQL에서 지원되지 않는 MySQL 클라이언트 프로그램 기능
--tab
옵션 또는--tab
과 함께 사용되는 옵션을 사용하는mysqldump
. 인스턴스 사용자에게 FILE 권한이 부여되지 않기 때문입니다. 다른 모든mysqldump
옵션은 지원됩니다. Cloud SQL로 가져오기 위해 파일을 최적화하는mysqldump
옵션을 사용하는 방법에 대한 자세한 내용은 mysqldump를 사용하여 로컬 MySQL 서버에서 내보내기를 참조하세요.--local
옵션을 사용하지 않는mysqlimport
.LOAD DATA INFILE
제한 때문입니다. Cloud SQL 인스턴스로 데이터를 가져오려면 덤프 파일을 사용하여 가져오기 또는 CSV 파일을 사용하여 가져오기를 참조하세요.바이너리 데이터가 있는 데이터베이스를 Cloud SQL 인스턴스로 가져오려면
mysqldump
에--hex-blob
옵션을 사용해야 합니다.hex-blob
은 로컬 MySQL 서버 인스턴스 및mysql
클라이언트를 사용할 때 필요한 플래그가 아니지만, 바이너리 데이터가 있는 데이터베이스를 Cloud SQL 인스턴스로 가져오려는 경우에 필요합니다. Cloud SQL 인스턴스로 데이터를 가져오려면 덤프 파일을 사용하여 가져오기 또는 CSV 파일을 사용하여 가져오기를 참조하세요.일부 MySQL 옵션과 매개변수는 Cloud SQL 플래그로 수정할 수 없습니다.
구성 가능한 Cloud SQL 플래그를 추가로 요청하려면 Cloud SQL 토론방을 사용합니다.
스토리지 엔진으로 InnoDB만 지원됩니다. MyISAM에서 InnoDB로 테이블을 변환하는 방법에 대한 도움이 필요하면 MySQL 문서의 테이블을 InnoDB로 변환을 참조하세요.
Cloud SQL에 사전 설정된 MySQL 옵션
Cloud SQL은 MySQL을 특정 옵션 세트와 함께 실행합니다. 특정 옵션이 애플리케이션의 작동 방법에 영향을 미칠 수 있는 경우, 사용자가 참고할 수 있도록 여기에 언급합니다.
skip-name-resolve
이 플래그는 클라이언트 연결을 위해 호스트 이름을 확인하는 방법에 영향을 미칩니다. MySQL 문서의 skip-name-resolve
를 참조하세요.
log_bin
이 플래그는 바이너리 로깅이 사용 설정되었는지 여부를 보고합니다. --log-bin
옵션을 사용하는 경우 이 변수의 값은 ON
입니다. 그렇지 않으면 OFF
입니다. MySQL 문서의 log_bin
을 참조하세요.
MySQL 인증
이 섹션에서는 MySQL 기본 제공 인증 변경사항을 설명합니다.
MySQL 8.0 인증 플러그인 기본값
MySQL용 Cloud SQL 8.0에서는 신규 사용자의 기본 인증 플러그인으로 caching_sha2_password
대신 mysql_native_password
가 사용됩니다. mysql_native_password
플러그인은 MySQL 5.6 및 5.7 사용자의 기본값입니다.
신규 사용자가 caching_sha2_password
플러그인을 기본 인증으로 사용하도록 하려면 default_authentication_plugin
에서 caching_sha2_password
를 사용하도록 인스턴스 플래그를 구성합니다.
기존 사용자가 caching_sha2_password
를 사용하도록 구성하려면 ALTER USER
명령어를 사용하여 인증 플러그인을 변경합니다.
caching_sha2_password
인증이 있는 사용자는 연결 시 get-server-public-key
플래그를 사용해야 할 수 있습니다. 자세한 내용은 MySQL 문서의 SHA-2 플러그인 인증 캐싱을 참고하세요.
MySQL 8.4 인증 플러그인 기본값
MySQL용 Cloud SQL 8.4부터 caching_sha2_password
플러그인이 기본 인증 플러그인입니다.
모든 내부 사용자와 개발자가 만든 새 사용자 계정은 인증에 caching_sha2_password
플러그인을 사용합니다. MySQL용 Cloud SQL 8.4는 mysql_native_password
플러그인을 사용하는 기존 Cloud SQL 사용자 계정을 계속 지원합니다. 이러한 기존 계정은 인스턴스가 MySQL 8.4로 업그레이드된 후에도 MySQL용 Cloud SQL 인스턴스에 계속 연결할 수 있습니다.
MySQL용 Cloud SQL 8.4에서는 mysql_native_password
인증 플러그인이 지원 중단되었습니다.
지원 중단된 mysql_native_password
인증 플러그인으로 새 사용자 계정을 만들려고 하면 오류가 발생합니다.
mysql_native_password
를 사용하도록 MySQL용 Cloud SQL 8.4에서 계정의 authentication_policy
를 설정할 수 없습니다.
caching_sha2_password
인증 플러그인을 사용하도록 기존 데이터베이스 사용자 계정을 변경하려면 다음 명령어를 사용합니다.
ALTER USER 'username'@'%' IDENTIFIED WITH caching_sha2_password BY 'user_password';
username 및 user_password를 업데이트하려는 사용자 계정의 값으로 바꿉니다.
이 변경사항이 서버, 클라이언트, 커넥터 간의 호환성에 미치는 영향에 대한 자세한 내용은 caching_sha2_password as the Preferred Authentication Plugin
을 참조하세요.
Cloud SQL의 MySQL 시스템 플래그 변경사항
일부 MySQL 시스템 플래그의 경우 Cloud SQL에서 기본값과 다른 값을 사용합니다. 이러한 플래그 값은 변경할 수 없습니다. 플래그 목록은 Cloud SQL에서 변경된 시스템 플래그를 참조하세요.
MySQL용 Cloud SQL 8.0 이상 버전에서 지원되지 않는 Cloud SQL 기능
MySQL용 Cloud SQL 8.0 이상 버전에서는 장애 조치 복제본을 사용하는 기존 MySQL용 Cloud SQL 고가용성(HA) 구성을 지원하지 않습니다. MySQL용 Cloud SQL 8.0 이상 버전은 리전별 HA 구성만 지원합니다.
Cloud SQL 버전의 PostgreSQL 기능
PostgreSQL용 Cloud SQL의 각 버전 기능에 대한 자세한 내용은 Cloud SQL 버전 소개를 참조하세요.
Cloud SQL를 위한 PostgreSQL 기능 지원
- 클라우드의 완전 관리형 PostgreSQL 데이터베이스
- 미주, EU, 아시아, 오스트레일리아에서 사용 가능한 인스턴스. Cloud SQL 인스턴스를 만들 수 있는 모든 위치를 참조하세요.
- Database Migration Service(DMS)를 사용하여 소스 데이터베이스에서 Cloud SQL 대상 데이터베이스로 마이그레이션을 지원함
- Google의 내부 네트워크와 데이터베이스 테이블, 임시 파일, 백업에서 암호화되는 고객 데이터
- Cloud SQL 인증 프록시 또는 SSL/TLS 프로토콜을 사용한 보안 외부 연결 지원
- 자동 장애 조치로 여러 영역 간에 데이터 복제*
- SQL 덤프 파일을 사용한 데이터베이스 가져오기 또는 내보내기
- PostgreSQL 클라이언트 서버 프로토콜 및 표준 PostgreSQL 커넥터를 지원
- 자동 백업, 주문형 백업, PITR(point-in-time recovery)
- 인스턴스 클론
- Google Cloud Observability 로깅 및 모니터링과 통합
- 여러 PostgreSQL 버전 지원
- 논리 복제
* 멕시코, 몬트리올, 오사카 리전은 1~2개의 물리적 데이터 센터에 영역 3개가 있습니다. 이러한 리전은 최소 3개의 물리적 데이터 센터로 확장 중입니다. 자세한 내용은 클라우드 위치 및 Google Cloud Platform SLA를 참고하세요. 워크로드의 안정성을 개선하려면 멀티 리전 배포를 고려하세요.
Cloud SQL에 지원되는 PostgreSQL 확장 프로그램
Cloud SQL은 다양한 PostgreSQL 확장 프로그램을 지원합니다. 이러한 확장 프로그램의 전체 목록은 PostgreSQL 확장 프로그램 구성을 참고하세요.
Cloud SQL에서 지원되는 PostgreSQL 절차적 언어
Cloud SQL은 PL/pgSQL
SQL 절차적 언어를 지원합니다.
PostgreSQL용 Cloud SQL에 지원되는 언어
Cloud SQL은 다음 언어로 작성된 가변형 환경에서 실행되는 App Engine 애플리케이션과 함께 사용할 수 있습니다.
- C#
- Go
- 자바
- Node.js
- PHP
- Python
- Ruby
Cloud SQL을 표준 PostgreSQL 클라이언트 서버 프로토콜을 사용하는 외부 애플리케이션과 함께 사용할 수도 있습니다.
PostgreSQL용 Cloud SQL 인스턴스에 연결하는 방법
다음 항목에서 Cloud SQL 인스턴스에 연결할 수 있습니다.
psql
클라이언트. 자세히 알아보기.- 표준 PostgreSQL 클라이언트 서버 프로토콜을 사용하는 타사 도구
- 외부 애플리케이션. 자세히 알아보기
- App Engine 애플리케이션. 자세히 알아보기
- Compute Engine에서 실행되는 애플리케이션. 자세히 알아보기
- Google Kubernetes Engine에서 실행되는 애플리케이션. 자세히 알아보기
- Cloud Run Functions. 자세히 알아보기
- Cloud Run. 자세히 알아보기
비공개 Google 액세스로는 Cloud SQL에 연결할 수 없습니다.
표준 PostgreSQL과 PostgreSQL용 Cloud SQL 간의 차이점
일반적으로 Cloud SQL 인스턴스에서 제공하는 PostgreSQL 기능은 로컬에서 호스팅되는 PostgreSQL 인스턴스에서 제공하는 기능과 동일합니다. 하지만 표준 PostgreSQL 인스턴스와 Cloud SQL 인스턴스에는 몇 가지 차이점이 있습니다.
PostgreSQL용 Cloud SQL에서 지원되지 않는 기능
SUPERUSER
권한이 필요하며 다음과 같은 예외가 적용되는 기능:CREATE EXTENSION
문은 지원되는 확장 프로그램에만 사용할 수 있습니다.cloudsqlsuperuser
역할이 할당된 경우CREATE CAST
및DROP CAST
문을 실행할 수 있습니다. 자세한 내용은 슈퍼 사용자 제한사항 및 권한을 참고하세요.
WITHOUT FUNCTION
cast 변환 메서드커스텀 백그라운드 작업자
Cloud Shell의
psql
클라이언트는\c
명령어를 사용하여 다른 데이터베이스에 연결하는 등 재연결이 필요한 작업을 지원하지 않습니다.하위 수준 가상 머신(LLVM) 적시(JIT) 컴파일
PostgreSQL과 PostgreSQL용 Cloud SQL의 주요 차이점
일부 PostgreSQL 옵션 및 매개변수는 Cloud SQL 플래그로 수정할 수 없습니다.
구성 가능한 Cloud SQL 플래그를 추가로 요청하려면 PostgreSQL용 Cloud SQL 포럼을 사용합니다.
Cloud SQL에 대한 SQL Server 기능 지원
- 클라우드의 완전 관리형 SQL Server 데이터베이스
- RAM 최대 624GB와 CPU 96개가 탑재된 커스텀 머신 유형
- 스토리지를 최대 64TB까지 사용할 수 있으며 필요에 따라 스토리지 크기를 자동으로 늘릴 수 있음
- Google Cloud 콘솔에서 인스턴스 생성 및 관리
- 미주, 유럽, 아시아 또는 오스트레일리아에서 사용 가능한 인스턴스. Cloud SQL 인스턴스를 만들 수 있는 모든 위치를 참조하세요.
- Google의 내부 네트워크와 데이터베이스 테이블, 임시 파일, 백업에서 암호화되는 고객 데이터
- 사용자 데이터베이스의 열 및 셀 수준 암호화
- Cloud SQL 인증 프록시 또는 SSL/TLS 프로토콜을 사용한 보안 외부 연결 지원
- BAK 파일과 SQL 파일을 사용하여 데이터베이스 가져오기
- BAK 파일을 사용하여 데이터베이스 내보내기
- 자동 백업, 주문형 백업, PITR(point-in-time recovery)
- 인스턴스 클론
- Stackdriver Logging 및 Monitoring과 통합
- 복제 및 기타 작업을 용이하게 할 수 있도록 SQL Server 에이전트 사용 설정
- 여러 리전 간 데이터 복제*
- 인스턴스를 만들 때 데이터베이스의 기본 데이터 정렬을 설정합니다.
- 리전 영구 디스크를 통한 고가용성
- Windows 인증을 포함한 Microsoft Active Directory용 관리형 서비스와 통합
- 변경 데이터 캡처(CDC)
- 지능형 쿼리 처리
- 데이터베이스 복구 가속화
- 데이터 분류 향상
- UTF-8 문자 인코딩 지원
- 모니터링 개선
- 동적 데이터 마스킹(DDM)
- 연결된 서버
- SQL Server 감사
- SQL Server 게시자
- SQL Server 구독자
- 별도의 호스트에서 실행되며 Cloud SQL에 연결되는 SQL Server Integration Services(SSIS)
- 별도의 호스트에서 실행되며 Cloud SQL에 연결되는 SQL Server Reporting Services(SSRS)
- 일괄 복사 프로그램(bcp) 유틸리티입니다. bcp 유틸리티 다운로드 및 설치에 대한 자세한 내용은 Microsoft 문서를 참조하세요.
- SQlPackage를 사용하여 BACPAC 파일 가져오기 및 내보내기. SqlPackage 다운로드 및 설치에 대한 자세한 내용은 Microsoft 문서를 참조하세요.
- 데이터 가져오기를 위한 일괄 삽입. 이 기능은 SQL Server 2022에서만 지원됩니다. 저장 프러시저를 사용하여 일괄 삽입을 수행할 수 있습니다. 자세한 내용은 데이터 가져오기를 위한 일괄 삽입 사용을 참조하세요.
- 보안 Enclave를 사용하지 않고 항상 암호화됩니다.
- 확장 이벤트(XEvents)
- 인스턴스 생성 시 및 인스턴스 생성 후에 맞춤 시간대 지원
* 멕시코, 몬트리올, 오사카 리전은 1~2개의 물리적 데이터 센터에 영역 3개가 있습니다. 이러한 리전은 최소 3개의 물리적 데이터 센터로 확장 중입니다. 자세한 내용은 클라우드 위치 및 Google Cloud Platform SLA를 참고하세요. 워크로드의 안정성을 개선하려면 멀티 리전 배포를 고려하세요.
Cloud SQL에서 사용할 수 없는 SQL Server 기능
다음 기능은 Cloud SQL에서 제공되지 않으며 Google Cloud에서 지원되지 않습니다.
Cloud SQL에서 사용할 수 없는 일반 SQL Server 기능
- SQL Server Analysis Services(SSAS)
- SP_Configure 설정. 이 기능에 대한 자세한 내용은 데이터베이스 플래그 구성을 참조하세요.
- Stretch 데이터베이스
- Microsoft Azure Blob 스토리지에 백업
- 버퍼 풀 확장 프로그램
- OPENROWSET 기능
- Data quality Services
- 데이터베이스 로그 전달
- 데이터베이스 메일
- Distribution Transaction Coordinator(MSDTC)
- 파일 테이블
- FILESTREAM 지원
- 유지보수 플랜
- 성능 데이터 수집기
- 정책 기반 관리
- PolyBase
- 머신러닝 및 R 서비스
- 리소스 거버너
- 서버 수준 트리거
- 서비스 브로커 엔드포인트
- T-SQL 엔드포인트(
CREATE ENDPOINT
를 사용하는 모든 작업 사용 불가) - WCF 데이터 서비스
sysadmin
역할 및 이 역할이 필요한 시스템 저장 프로시저- 하이브리드 버퍼 풀
- 메모리 최적화 tempdb 메타데이터
- 데이터베이스 스냅샷에 대한 인메모리 OLTP 지원
- 외부 언어 등록
- 행 수준 보안
- 투명 데이터 암호화(TDE). Google Cloud의 암호화에 대한 자세한 내용은 고객 관리 암호화 키(CMEK) 정보 및 기본 저장 데이터 암호화를 참조하세요.
- 객체 스토리지 백업 및 복원
- 인메모리 데이터베이스: 영구 메모리
- 실시간 운영 분석
- 통합 가속화 및 오프로드
- 직접 쓰기를 사용하는 하이브리드 버퍼 풀
- 멀티 쓰기 복제
- Azure SQL 관리형 인스턴스에 연결
- 포함된 가용성 그룹
- 항상 보안 Enclave로 암호화됨
- Azure Active Directory 인증
- PFX 인증서 지원 및 기타 암호화 개선사항
- MS-TDS 8.0 프로토콜 및 TLS 1.3
Cloud SQL에서 사용할 수 없는 다른 SQL Server 작업
- ADMINISTER BULK OPERATIONS
- ALTER ANY CREDENTIAL
- ALTER ANY EVENT NOTIFICATION
- ALTER ANY EVENT SESSION
- ALTER RESOURCES
- ALTER SETTINGS
- AUTHENTICATE SERVER
- CONTROL_SERVER
- CREATE DDL EVENT NOTIFICATION
- CREATE ENDPOINT
- CREATE TRACE EVENT NOTIFICATION
- EXTERNAL ACCESS ASSEMBLY
- 복원
- SHUTDOWN
- CLR ASSEMBLIES
SQL 서버용 Cloud SQL에 지원되는 문법
Cloud SQL에서는 Transact-SQL 문법을 지원합니다.
SQL 서버용 Cloud SQL에서 지원되는 언어
Cloud SQL은 다음 언어로 작성된 가변형 환경에서 실행되는 App Engine 애플리케이션과 함께 사용할 수 있습니다.
- C#
- Go
- 자바
- Node.js
- PHP
- Python
- Ruby
SQL 서버용 Cloud SQL 인스턴스에 연결하는 방법
다음 항목에서 Cloud SQL 인스턴스에 연결할 수 있습니다.
비공개 Google 액세스로는 Cloud SQL에 연결할 수 없습니다.