Documentation Index

Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

Backup

Prev Next

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

Backup에서는 Cloud DB Serverless을 사용 중인 사용자의 데이터를 안전하게 보관하기 위해 DB 클러스터별로 설정해놓은 백업 정보를 확인할 수 있습니다. 또한 장애가 발생하여 데이터가 손실된 경우 보관 중이던 백업 파일로 복원을 진행할 수도 있습니다.

백업과 복원을 사용하기 위해서 우선 Cloud DB Serverless에서 제공하고 있는 백업에 대한 기본 수행 규칙을 이해하는 것이 좋습니다. 백업 기본 수행 규칙은 다음과 같습니다.

  • 백업 수행 방식
    • 하루 한 번씩 매일 수행
    • 자동 설정과 사용자 정의 설정 중 선택
      • 자동 설정: Cluster 생성 시 임의의 시간이 지정되며 이후 처음 백업된 시간과 유사한 시간에 백업 수행
      • 사용자 정의 설정: 사용자가 선택한 시간 +15분 내 백업 수행 시작
  • 백업 파일
    • 보관 기간: 사용자 설정에 따라 최대 30일까지 보관 가능
    • 저장 위치: 별도의 데이터 볼륨

Backup 화면

백업 기능 이용을 위한 기본적인 설명은 다음과 같습니다.

serverless_backup_01_ko

serverless_backup_02_ko

영역 설명
① 메뉴 이름 현재 확인 중인 메뉴 이름
② 기본 기능 Cloud DB Serverless 상세 정보 확인, Backup 화면 새로 고침
③ 백업 탭 Cluster Backup: DB 클러스터별 자동 백업 목록 확인 / Imported Backup: Object Storage에서 가져온 백업 목록 확인
④ Cluster Backup 목록 설정해놓은 DB 클러스터별 백업 설정 및 설정 정보
⑤ 상세 정보 [상세내역] 버튼: Cluster Backup 상세 정보 및 복원, Object Storage에 저장
⑥ Object Storage에서 가져오기 [Object Storage에서 가져오기] 버튼: Object Storage에 저장된 백업 파일을 Import
⑦ Imported Backup 목록 Import한 백업 파일 목록 및 상태 정보
⑧ 상세 정보 [상세내역] 버튼: Imported Backup 상세 정보 및 복원

백업 설정 목록 확인

운영 중인 DB 클러스터별 백업 설정 목록을 확인할 수 있습니다. 백업 설정 목록을 확인하는 방법은 다음과 같습니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Database > Cloud DB Serverless 메뉴를 차례대로 클릭해 주십시오.
  2. Backup 메뉴를 클릭해 주십시오.
  3. 백업 설정 목록이 나타나면 필요한 정보를 확인해 주십시오.
    • DBMS: 생성한 DB 유형
    • DB Cluster 이름: 사용자가 지정한 DB Cluster 이름
    • Backup 보관일: 백업 파일을 데이터 스토리지에 저장하여 보관하는 최대 일수
    • Backup 시작시간: 매일 1회 백업을 수행하는 시간
    • Backup 데이터 크기: 완료된 백업 파일의 크기
    • 마지막 Backup 일시: 최근에 수행 완료한 백업 날짜
    • 상세정보 보기: DB 클러스터별 생성된 백업 파일 목록의 상세 정보 및 복원, Object Storage에 저장

Cluster별 백업 파일 목록 확인

백업 수행을 완료하여 Cluster별로 생성된 백업 파일 목록을 확인하는 방법은 다음과 같습니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Database > Cloud DB Serverless 메뉴를 차례대로 클릭해 주십시오.
  2. Backup 메뉴를 클릭해 주십시오.
  3. 상세 정보를 확인할 백업 설정 행의 상세정보 보기에서 [상세내역] 버튼을 클릭해 주십시오.
  4. 백업 파일의 상세 정보를 확인해 주십시오.
    • Backup 날짜: 백업을 수행한 날짜
    • Backup 시간: 백업을 수행한 시각
    • Backup Zone: 백업을 수행한 존
    • Backup 데이터 크기: 백업 수행 완료 후 생성된 백업 파일의 크기(GB)
    • 상태: 해당 백업 수행에 따른 상태

콘솔에서 데이터 복원

Cloud DB Serverless에서는 백업 파일을 이용하여 소실된 데이터를 복원하여 쉽고 빠르게 DB 클러스터를 생성할 수 있는 서비스를 제공하고 있습니다.

Backup 파일 복원

자동 백업을 통해 생성된 Backup 파일을 사용하여 데이터를 복원할 수 있습니다.
생성된 백업 파일을 사용하여 데이터를 복원하는 방법은 다음과 같습니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Database > Cloud DB Serverless 메뉴를 차례대로 클릭해 주십시오.
  2. Backup 메뉴를 클릭해 주십시오.
  3. 복원할 백업 설정 행의 [상세내역] 버튼을 클릭해 주십시오.
  4. 백업 파일을 선택한 후 [Backup 파일 복원] 버튼을 클릭해 주십시오.
  5. Backup 파일 복원 팝업 창이 나타나면 복원을 위해 필요한 정보를 확인하거나 입력해 주십시오.
    serverless_backup03_ko
    • Backup 시간: 백업이 완료된 시간으로 복원
    • VPC: 선택한 백업 파일로 복원되며, 신규 DB 클러스터 생성 시 필요한 VPC 연결 설정 값
    • Subnet: 선택한 백업 파일로 복원되며, 신규 DB 클러스터 생성 시 필요한 Subnet 연결 설정 값
    • Instance 스펙 설정: 최소 Unit과 최대 Unit을 1~165까지 입력 가능하며 최소 보다 작은 최대 값 입력 불가
    • Auto Scaling 정책 설정: Auto Scaling 정책 설정의 사용 여부 선택
      • Replica 증설 기준: 평균 CPU 사용량, 평균 Connection 개수 중 기준값을 입력
      • 최소 Replica 대수와 최대 Replica 대수를 1~15까지 입력
    • DB Cluster 이름 : 신규 DB 클러스터 이름
  6. [복원하기] 버튼을 클릭해 주십시오.
  7. DB Server 메뉴를 클릭해 주십시오.
  8. 복원 중인 DB 클러스터의 상태를 확인해 주십시오.
    • 시작중: 사용자가 입력한 정보로 DB 클러스터를 생성(복원)하고 있는 상태
    • 설정중: 사용자가 입력한 정보로 DB 클러스터를 생성(복원)하여 구성하고 있는 상태
    • 운영중: 사용자가 입력한 정보로 DB 클러스터의 생성(복원)과 설정이 완료되어 접속 가능한 상태
주의

DB 클러스터 복원 완료까지 수 분~수십 분이 소요될 수 있습니다.

Object Storage에 저장

Cloud DB Serverless에서는 생성한 백업 파일을 Object Storage에 저장해 필요시 다른 곳에 보관할 수 있습니다. 보관 중이던 백업 파일을 Object Storage에 저장하는 방법은 다음과 같습니다.

참고

Object Storage 이용 신청 시 별도의 요금이 부과됩니다. Object Storage 소개와 요금제에 대한 설명은 네이버 클라우드 플랫폼 포털의 서비스 > Storage > Object Storage 메뉴를 참조해 주십시오.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Database > Cloud DB Serverless 메뉴를 차례대로 클릭해 주십시오.
  2. Backup 메뉴를 클릭해 주십시오.
  3. Object Storage에 저장할 파일이 있는 백업 설정 행의 [상세내역] 버튼을 클릭해 주십시오.
  4. 백업 파일을 선택한 후 [Object Storage로 보내기] 버튼을 클릭해 주십시오.
  5. Object Storage로 보내기 팝업 창이 나타나면 저장할 버킷을 클릭하여 선택해 주십시오.
    serverless_backup04_ko.png
  6. [Object Storage로 보내기] 버튼을 클릭해 주십시오.
  7. [확인] 버튼을 클릭해 주십시오.
주의
  • Object Storage로 보내기 시 버킷 잠금 해제와 접근제어 해제 설정이 필요합니다.
  • Object Storage로 보내기 완료까지 수 분~수 시간이 소요될 수 있습니다.

Imported Backup

Cloud DB Serverless에서는 Object Storage에 저장된 내보내기 백업 파일을 Import하여 새 DB 클러스터를 생성할 수 있습니다. Imported Backup은 백업 요금과 동일하게 과금됩니다.

주의
  • Cloud DB Serverless에서 생성한 스냅샷 백업 파일만 정상 복구를 보장합니다. 출처를 알 수 없는 백업 파일을 통한 신규 DB 클러스터 생성은 지원하지 않습니다.
  • Cloud DB Serverless에서 허용하는 스토리지 엔진 테이블을 제외한 데이터는 모두 삭제됩니다(Plugin, DB ACL 등).
  • 선택한 백업 파일과 신규로 생성할 DB 클러스터의 DB 버전이 동일해야 합니다. DB 버전이 다른 경우나 접근 제어 설정된 버킷은 데이터를 정상적으로 가져올 수 없습니다.
  • 백업 파일 사이즈는 16TiB 미만만 가능합니다.
  • Backup Import 완료까지 파일 크기에 따라 수 분~수 시간이 소요될 수 있습니다.

Object Storage에서 백업 가져오기

Object Storage에 저장된 내보내기 백업 파일을 Import하는 방법은 다음과 같습니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Database > Cloud DB Serverless 메뉴를 차례대로 클릭해 주십시오.
  2. Backup 메뉴를 클릭해 주십시오.
  3. Imported Backup 탭을 클릭해 주십시오.
  4. [Object Storage에서 가져오기] 버튼을 클릭해 주십시오.
  5. Object Storage에서 가져오기 팝업 창이 나타나면 필요한 정보를 입력해 주십시오.
    • Bucket: 백업 파일이 저장된 Object Storage 버킷 선택
    • 복원 파일: [복원 파일 선택] 버튼을 클릭하여 Import할 백업 파일 선택
    • DBMS 종류: 백업 파일의 DBMS 종류 선택
    • DB 엔진 버전: 백업 파일의 DB 엔진 버전 선택
    • Backup 이름: Import할 백업의 이름 입력 (최소 3글자, 최대 30자)
  6. [확인] 버튼을 클릭해 주십시오.

Imported Backup 목록 확인

Import한 백업 파일 목록을 확인하는 방법은 다음과 같습니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Database > Cloud DB Serverless 메뉴를 차례대로 클릭해 주십시오.
  2. Backup 메뉴를 클릭해 주십시오.
  3. Imported Backup 탭을 클릭해 주십시오.
  4. Imported Backup 목록에서 필요한 정보를 확인해 주십시오.
    • Backup 이름: Import 시 사용자가 지정한 백업 이름
    • 상태: 해당 Imported Backup의 현재 상태
    • DBMS: 백업 파일의 DB 유형
    • DBMS Version: 백업 파일의 DB 엔진 버전
    • 데이터 크기: Import된 백업 파일의 크기
    • Import 일시: Import가 완료된 날짜 및 시각

Imported Backup 상세 확인

Import한 백업 파일의 상세 정보 및 진행 상태를 확인하는 방법은 다음과 같습니다.

  1. Imported Backup 탭에서 확인할 백업 행의 [상세내역] 버튼을 클릭해 주십시오.
  2. 상세 정보를 확인해 주십시오.
    • Imported Backup 정보: Backup 이름, DBMS, DBMS Version, 데이터 크기, Import 일시, 상태
    • Import 정보: 시작 시간, 경과 시간
    • Import 진행 상태: Backup 다운로드 > 압축 해제 > 유효성 검증 > Backup 생성 > 임시파일 정리 > 완료
참고

유효하지 않은 백업 파일을 Import하면 진행 중 실패할 수 있습니다. 실패한 단계와 원인은 해당 Imported Backup의 [상세내역]에서 확인해 주십시오.

Imported Backup 복원

Import한 백업 파일을 사용하여 새 DB 클러스터를 생성하는 방법은 다음과 같습니다. DBMS 종류와 DB 엔진 버전은 Object Storage에서 가져오기 단계에서 입력한 값이 적용되며, 변경할 수 없습니다.

  1. Imported Backup 탭에서 복원할 백업 행의 [상세내역] 버튼을 클릭해 주십시오.

  2. [Backup 파일 복원] 버튼을 클릭해 주십시오.

  3. Imported Backup 복원 팝업 창이 나타나면 단계별로 필요한 정보를 입력해 주십시오.

    ① Cluster 설정

    • 고가용성 지원: 선택 시 2대의 서버가 생성되며 추가 요금 발생
    • Instance 스펙 설정: 최소 Unit과 최대 Unit 입력 (1~15)
    • Auto Scaling 정책 설정: Auto Scaling 정책을 통한 Replica 대수 자동 조절 여부 선택
    • 데이터 스토리지 타입: 사용할 데이터 스토리지 타입 선택. 현재 CB2만 제공
    • DB Cluster 이름: 신규 DB 클러스터 이름 입력 (최소 3글자, 최대 30자)

    ② DB 설정

    • USER_ID: DB 접속에 사용할 사용자 ID
    • USER 암호: DB 접속에 사용할 사용자 암호
    • DB 접속 포트: DB 접속 포트 번호 (기본값: 3306)
    • DB Config 설정: 네이버에서 제공하는 최적화된 기본 설정 확인
    • Backup 파일 보관 기간: 백업 파일 보관 일수 입력
    • Backup 시간: 자동 또는 사용자 정의 선택
    • DB log 수집: error 로그, slow query 로그 수집 및 뷰어 기능 제공 확인

    ③ 연결 설정

    • VPC: DB 클러스터를 연결할 VPC 선택
    • Subnet: DB 클러스터를 연결할 Subnet 선택
    • ACG 설정: Cloud DB Serverless를 위한 ACG 자동 생성

    ④ 최종 확인

    • Cluster 정보, DB 정보, 연결 설정 정보를 확인해 주십시오.
  4. 내용을 확인한 후 [DB Cluster 생성] 버튼을 클릭해 주십시오.

  5. DB Server 메뉴를 클릭해 주십시오.

  6. 복원 중인 DB 클러스터의 상태를 확인해 주십시오.

    • 시작중: 사용자가 입력한 정보로 DB 클러스터를 생성(복원)하고 있는 상태
    • 설정중: 사용자가 입력한 정보로 DB 클러스터를 생성(복원)하여 구성하고 있는 상태
    • 운영중: DB 클러스터의 생성(복원)과 설정이 완료되어 접속 가능한 상태
주의

DB 클러스터 복원 완료까지 수 분~수십 분이 소요될 수 있습니다.

Object Storage를 통한 백업 파일 복원

네이버 클라우드 플랫폼의 Object Storage에 저장한 백업 파일을 사용하여 설치형 MySQL로 데이터를 복원할 수 있습니다. Object Storage를 통한 백업 파일 복원 방법은 다음과 같습니다. Rocky 8.x - 9.x를 기준으로 설명합니다.

1. Object Storage에서 백업 파일 준비

  1. Object Storage에 저장을 참조하여 복원하려는 백업 파일을 Object Storage에 저장해 주십시오.
  2. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Storage > Object Storage > Bucket Management 메뉴를 차례대로 클릭한 후 백업 파일을 저장한 버킷을 클릭해 주십시오.
  3. 저장한 백업 파일을 클릭한 후 편집 > 권한 관리 메뉴를 차례대로 클릭해 주십시오.
  4. 전체 공개 항목을 공개로 변경한 후 [확인] 버튼을 클릭해 주십시오.
  5. 저장한 백업 파일의 상세 정보에서 Link 항목의 링크를 복사해 주십시오.
주의
  • 백업 파일을 전체공개 시 임의의 위치에서 다운로드 가능합니다.
  • 백업 파일 다운로드 완료 후 반드시 권한을 적절하게 수정해야 합니다.

2. 백업 파일을 사용하여 데이터 복원

  1. Cloud DB Serverless 시나리오를 참조하여 애플리케이션 서버에 접속해 주십시오.

  2. 아래 명령에 복사한 링크를 넣은 후 실행하여 백업 파일을 다운로드해 주십시오.

    • 백업 파일 다운로드가 완료되면 Object Storage의 권한 관리에서 공개 설정을 공개 안함으로 변경해 주십시오.
     # wget [Link]
    
     -- 예시
     # wget https://kr.object.ncloudstorage.com/test-bk-02/u-40001936-test-kr2-20251230084500.tar.gz
    
     # tar xzf [백업 파일명]
    
     -- 예시
     # tar xzf u-40001936-test-kr2-20251230084500.tar.gz
    
  3. 아래 명령을 실행하여 my.cnf 파일의 절대 경로를 설정해 주십시오.

    # MYSQL_CONF=/etc/my.cnf
    
  4. 아래 명령을 차례대로 실행하여 임시 디렉터리를 생성하고 BACKUP_DIR의 경로를 임시 디렉터리 위치로 지정해 주십시오.

     # cd ~
    
     # mkdir backup
    
     # cd ./backup/
    
     # BACKUP_DIR=`pwd`
    
  5. 아래 명령을 차례대로 실행하여 각 경로가 정상적으로 지정되었는지 확인해 주십시오.

    # echo $MYSQL_CONF
    
    # echo $BACKUP_DIR
    
  6. 아래 명령을 실행하여 실행 중인 MySQL을 종료해 주십시오.

    # systemctl stop mysqld
    
  7. 아래 명령을 차례대로 실행하여 my.cnf 파일을 통해 datadir의 위치를 확인한 후 datadir 변수에 해당하는 디렉터리를 백업 폴더로 이동해 주십시오.

    # grep datadir ${MYSQL_CONF}
    
    # mv [data directory 위치] ${BACKUP_DIR}
    
    -- 예시
    mv /var/lib/mysql ${BACKUP_DIR}
    
  8. 아래 명령을 차례대로 실행하여 Object Storage를 사용하여 백업한 파일을 datadir 위치로 복사해 주십시오.

    # mkdir [data directory 경로]
    
    -- 예시
    # mkdir /var/lib/mysql
    
    # cp -a [백업 파일 경로] [data directory 경로]
    
    -- 예시
    # cp -a /root/data/* /var/lib/mysql/
    
  9. 아래 명령을 차례대로 입력하여 datadir 위치로 이동한 후 datadir 권한을 mysql로 변경해 주십시오.

    # cd [data directory 경로]
    
    -- 예시
    # cd /var/lib/mysql
    
    # chown -R mysql:mysql [data directory 경로]
    
    -- 예시
    # chown -R mysql:mysql /var/lib/mysql
    
  10. my.cnf 파일의 [mysqld] 구문 아래에 skip-grant-tables 구문을 추가해 주십시오.

    # vi /etc/my.cnf
    
    [mysqld]
    skip-grant-tables
    
  11. 아래 명령을 차례대로 실행하여 MySQL을 시작한 후 새 root 계정을 생성해 주십시오.

    • create 실행 시 ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'localhost' 오류가 발생할 수 있습니다. 이 경우 drop user 'root'@'localhost'; 명령을 실행하여 기존 root 계정을 삭제한 후 다시 create를 실행해 주십시오.
    # systemctl start mysqld
    
    mysql -u root -p
    
    mysql > flush privileges;
    mysql > create user root@localhost identified by '패스워드';
    mysql > grant all privileges on *.* to root@localhost with grant option;
    mysql > flush privileges;
    
  12. my.cnf 파일의 [mysqld] 구문 아래에 추가한 skip-grant-tables 구문을 삭제한 후 아래 명령을 실행하여 MySQL을 재시작해 주십시오.

    # systemctl restart mysqld
    
참고

백업을 수행한 MySQL과 복구하는 MySQL의 버전이 동일해야 정상적으로 복구 가능합니다.

MySQL Dump로 복원하기

Cloud DB Serverless에서는 콘솔에서 제공하는 백업(스냅샷) 기능 외에, MySQL 클라이언트의 mysqldump 유틸리티를 사용하여 논리적(logical) 백업을 직접 수행하고 복원할 수 있습니다. 특정 데이터베이스나 테이블 단위로 백업하거나, 백업 결과를 온프레미스 MySQL 등 다른 환경으로 이전할 때 유용합니다. Rocky 8.x - 9.x를 기준으로 설명합니다.

참고

Cloud DB Serverless는 관리형 서비스이므로 시스템 데이터베이스(mysql, sys 등)와 시스템 계정, 복제/GTID 설정은 서비스가 관리합니다. 따라서 사용자가 직접 생성한 사용자 데이터베이스만 백업/복원 대상으로 삼아야 하며, --all-databases 옵션은 사용하지 않는 것을 권장합니다.

사전 준비 사항

mysqldump / mysql 클라이언트를 사용하여 백업 및 복원을 수행하기 전에 다음 사항을 준비해 주십시오.

  • mysqldump / mysql 클라이언트가 설치된 서버에서 실행해 주십시오. Cloud DB Serverless의 엔드포인트는 VPC 내부에서만 접근할 수 있으므로, 동일 VPC에 있는 서버(예: 애플리케이션 서버)에서 실행해야 합니다.
  • 접속에 필요한 아래 정보는 콘솔의 DB 클러스터 상세 화면에서 확인해 주십시오.
    • DB 엔드포인트(Private 도메인): 복원 등 쓰기 작업은 읽기·쓰기(RW) 엔드포인트로 접속합니다.
    • DB 접속 포트
    • DB 사용자 ID / 비밀번호
  • Cloud DB Serverless는 GTID(Global Transaction Identifier)가 활성화(gtid_mode=ON)되어 있으므로, 백업 시 --set-gtid-purged=OFF 옵션 사용에 유의해 주십시오.

mysqldump로 백업 파일 생성

  1. Cloud DB Serverless 시나리오를 참조하여 동일 VPC의 애플리케이션 서버에 접속해 주십시오.
  2. 아래 명령을 실행하여 특정 데이터베이스를 백업해 주십시오.
    mysqldump --set-gtid-purged=OFF -u [DB 사용자 ID] -p -h [DB 엔드포인트] -P [DB 접속 포트] \
      --single-transaction --databases [백업할 데이터베이스명] > [생성할 백업 파일명].sql
    
  3. 여러 데이터베이스를 한 번에 백업하려면 --databases 뒤에 공백으로 구분하여 나열해 주십시오.
    mysqldump --set-gtid-purged=OFF -u [DB 사용자 ID] -p -h [DB 엔드포인트] -P [DB 접속 포트] \
      --single-transaction --databases [데이터베이스1] [데이터베이스2] > [생성할 백업 파일명].sql
    
  4. MySQL 8.0 이상 클라이언트에서 백업 시 Unknown table 'COLUMN_STATISTICS' 오류가 발생하면 --column-statistics=0 옵션을 추가해 주십시오.
    mysqldump --set-gtid-purged=OFF --column-statistics=0 -u [DB 사용자 ID] -p -h [DB 엔드포인트] \
      -P [DB 접속 포트] --single-transaction --databases [백업할 데이터베이스명] > [생성할 백업 파일명].sql
    
  5. 스토어드 프로시저·함수·이벤트를 함께 백업하려면 --routines, --events 옵션을 추가해 주십시오. (테이블, 뷰, 트리거는 기본적으로 포함되지만, 스토어드 프로그램과 이벤트는 이 옵션을 지정해야 포함됩니다.)
    mysqldump --set-gtid-purged=OFF --single-transaction --routines --events \
      -u [DB 사용자 ID] -p -h [DB 엔드포인트] -P [DB 접속 포트] \
      --databases [백업할 데이터베이스명] > [생성할 백업 파일명].sql
    

주요 옵션에 대한 설명은 다음과 같습니다.

옵션 설명
--set-gtid-purged=OFF GTID가 활성화된 환경에서 덤프 파일에 SET @@GLOBAL.gtid_purged 구문이 포함되지 않도록 합니다. 이 구문이 포함되면 복원 대상 서버에서 권한 부족 또는 GTID 충돌로 복원이 실패할 수 있습니다.
--single-transaction InnoDB 테이블을 하나의 트랜잭션으로 일관성 있게 백업합니다. 백업 중 테이블 잠금을 피할 수 있습니다.
--databases 지정한 데이터베이스만 백업합니다. 덤프 파일에 CREATE DATABASE / USE 구문이 포함됩니다.
--column-statistics=0 MySQL 8.0 이상 클라이언트에서 컬럼 통계 조회를 비활성화합니다.
주의

Cloud DB Serverless의 DB 사용자 계정은 시스템 스키마(mysql, sys, performance_schema)에 대한 쓰기 권한이 없습니다. --all-databases로 백업하면 이러한 시스템 스키마까지 포함되어 복원 시 오류가 발생할 수 있으므로, 반드시 사용자 데이터베이스만 지정하여 백업해 주십시오.

백업 파일로 복원

Cloud DB Serverless로 복원

  1. 콘솔에서 복원 대상 데이터베이스를 미리 생성해 주십시오.
  2. 아래 명령을 실행하여 백업 파일을 적용해 주십시오. 쓰기가 가능한 읽기·쓰기(RW) 엔드포인트로 접속해야 합니다. (읽기 전용 엔드포인트는 super_read_only로 동작하여 쓰기가 거부됩니다.)
    mysql -u [DB 사용자 ID] -p -h [DB 엔드포인트] -P [DB 접속 포트] [복원할 데이터베이스명] < [백업 파일명].sql
    
  3. 복원 전, 백업 파일에 Cloud DB Serverless가 허용하지 않는 아래 SQL 구문이 있다면 제거해 주십시오.
    • SET @@GLOBAL ... 또는 SET @@SESSION ... 등 전역/세션 변수를 변경하는 구문
    • 명시적 DEFINER 절이 포함된 객체 생성 구문(PROCEDURE, FUNCTION, TRIGGER, EVENT, VIEW)
  4. DEFINER가 백업 원본의 계정을 가리키는 경우, 복원 계정에 다른 계정을 DEFINER로 지정할 권한(SUPER 또는 SET_ANY_DEFINER)이 없으면 아래 오류로 복원이 실패합니다. Cloud DB Serverless의 일반 DB 사용자 계정에는 이 권한이 없습니다.
    ERROR 1227 (42000): Access denied; you need (at least one of)
    the SUPER or SET_ANY_DEFINER privilege(s) for this operation
    
  5. 위 오류가 발생하면 아래와 같이 DEFINER 절을 제거한 뒤 복원해 주십시오.
    sed -e 's/DEFINER=[^ ]* //g' [백업 파일명].sql | \
      mysql -u [DB 사용자 ID] -p -h [DB 엔드포인트] -P [DB 접속 포트] [복원할 데이터베이스명]
    
참고

백업을 수행한 MySQL과 복원하는 MySQL의 버전이 동일해야 정상적으로 복원 가능합니다.