30.3. 데이터베이스 백업 및 복원


oc rsync 를 사용하여 기존 데이터베이스 컨테이너의 영구 볼륨 디렉터리로 데이터베이스 아카이브를 복사합니다.

참고

MySQL은 아래 예제에서 사용됩니다. mysql|MYSQLpgsql|PGSQL 또는 mongodb| hieraGODB로 바꾸고 지원되는 각 데이터베이스 이미지에 대한 정확한 명령을 찾으려면 마이그레이션 가이드 를 참조하십시오. 예에서는 기존 데이터베이스 컨테이너를 가정합니다.

  1. 실행 중인 데이터베이스 Pod에서 기존 데이터베이스를 백업합니다.

    $ oc rsh <existing db container>
    # mkdir /var/lib/mysql/data/db_archive_dir
    # mysqldump --skip-lock-tables -h ${MYSQL_SERVICE_HOST} -P ${MYSQL_SERVICE_PORT:-3306} \
      -u ${MYSQL_USER} --password="$MYSQL_PASSWORD" --all-databases > /var/lib/mysql/data/db_archive_dir/all.sql
    # exit
  2. 아카이브 파일을 로컬 머신에 원격 동기화합니다.

    $ oc rsync <existing db container with db archive>:/var/lib/mysql/data/db_archive_dir /tmp/.
  3. 위에서 만든 데이터베이스 아카이브 파일을 로드할 두 번째 MySQL 포드를 시작합니다. MySQL 포드에는 고유한 NFR _SERVICE_NAME 이 있어야 합니다.

    $ oc new-app mysql-persistent \
      -p MYSQL_USER=<archived mysql username> \
      -p MYSQL_PASSWORD=<archived mysql password> \
      -p MYSQL_DATABASE=<archived database name> \
      -p DATABASE_SERVICE_NAME='mysql2' 1
    $ oc rsync /tmp/db_archive_dir new_dbpod1234:/var/lib/mysql/data
    $ oc rsh new_dbpod1234
    1
    MySQL 이 기본값입니다. 이 예제에서는 mysql2 가 생성됩니다.
  4. 적절한 명령을 사용하여 복사된 데이터베이스 아카이브 디렉터리에서 새 데이터베이스 컨테이너의 데이터베이스를 복원합니다.

    MySQL

    $ cd /var/lib/mysql/data/db_archive_dir
    $ mysql -u root
    $ source all.sql
    $ GRANT ALL PRIVILEGES ON <dbname>.* TO '<your username>'@'localhost'; FLUSH PRIVILEGES;
    $ cd ../; rm -rf /var/lib/mysql/data/db_backup_dir

    이제 보관 데이터베이스를 사용하여 프로젝트에 두 개의 MySQL 데이터베이스 포드가 실행됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.