This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.31.3. 데이터베이스 백업 및 복원
oc rsync
를 사용하여 기존 데이터베이스 컨테이너의 데이터베이스 아카이브를 새 데이터베이스 컨테이너의 영구 볼륨 디렉터리로 복사합니다.
MySQL은 아래 예제에서 사용됩니다. mysql|MYSQL
을 pgsql|PGSQL
또는 mongodb|MONGODB
로 바꾸고 마이그레이션 가이드 를 참조하여 지원되는 각 데이터베이스 이미지에 대해 정확한 명령을 찾습니다. 이 예제에서는 기존 데이터베이스 컨테이너를 가정합니다.
실행 중인 데이터베이스 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
$ 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 아카이브 파일을 로컬 머신에 원격으로 동기화합니다.
oc rsync <existing db container with db archive>:/var/lib/mysql/data/db_archive_dir /tmp/.
$ oc rsync <existing db container with db archive>:/var/lib/mysql/data/db_archive_dir /tmp/.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 위에서 만든 데이터베이스 아카이브 파일을 로드할 두 번째 MySQL 포드를 시작합니다. MySQL 포드에는 고유한
DATABASE_SERVICE_NAME
이 있어야 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
MySQL
이 기본값입니다. 이 예제에서는mysql2
가 생성됩니다.
적절한 명령을 사용하여 복사된 데이터베이스 아카이브 디렉터리에서 새 데이터베이스 컨테이너의 데이터베이스를 복원합니다.
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
$ 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이제 보관된 데이터베이스가 있는 프로젝트에 두 개의 MySQL 데이터베이스 포드가 실행되고 있습니다.