Mysqldump Gzip을 사용하여 MySQL 데이터베이스용 압축 파일 생성

Mehvish Ashiq 2023년1월30일
  1. mysqldump gzip을 사용하여 MySQL 데이터베이스용 압축 파일 생성
  2. crontab을 사용하여 압축 백업 자동화
Mysqldump Gzip을 사용하여 MySQL 데이터베이스용 압축 파일 생성

이 튜토리얼은 crontab이 있거나 없는 mysqldump gzip을 사용하여 지정된 MySQL 데이터베이스의 압축 백업을 수행하는 방법을 안내합니다.

mysqldump gzip을 사용하여 MySQL 데이터베이스용 압축 파일 생성

mysqldumpgzip은 Linux 운영 체제 유틸리티입니다. mysqldump는 데이터베이스 백업을 수행하는 데 사용됩니다.

백업을 현재 디렉토리에 압축 파일로 저장할 수 있는 경우 다음과 같이 gzip을 사용합니다.

예제 코드 1:

-- Syntax: mysqldump -u username -ppassword db_name | gzip > dumpfilename.sql.gz
mysqldump -u root -p test | gzip > dump_test_db.sql.gz

이제 ls 명령을 사용하여 압축 파일이 생성되었는지 확인합니다. 데이터가 다른 파일을 통과하고 마지막 파일에 저장되는 또 다른 예를 들어보겠습니다.

예제 코드 2:

-- Syntax: mysqldump -u username -ppassword db_name | gzip > file1.gz > file2.gz
mysqldump -u root -p test | gzip > file1.gz > file2.gz > file3.gz

출력:

$> ls -l
-rw-r--r--  1 root  root     0 14:35 21 May file1.gz
-rw-r--r--  1 root  root     0 14:35 21 May file2.gz
-rw-r--r--  1 root  root   453 14:35 21 May file3.gz

이 예에서 mysqldump가 실행되고 생성된 출력은 파이프(|) 기호를 사용하여 리디렉션됩니다. 그런 다음 파이프는 표준 출력을 표준 입력으로 gzip 명령으로 보냅니다.

>는 마지막 파일 이름을 찾을 때까지 데이터 리디렉션을 계속하는 출력 리디렉션 연산자이며 데이터가 저장될 파일입니다.

위에 제공된 출력을 참조하십시오. 마지막 파일은 file3으로 453 크기의 데이터를 포함하고 file1file2의 크기는 0입니다. 다음은 gzip의 다양한 매개변수와 그 용도에 대한 상세 가이드입니다.

crontab을 사용하여 압축된 백업을 자동화할 수도 있습니다. 다음 섹션에서 알아보겠습니다.

crontab을 사용하여 압축 백업 자동화

우리는 cron 작업이 할당할 특정 시간에 mysqldump 명령을 실행할 데이터베이스의 압축된 백업을 수행하는 절차를 자동화하기 위해 cron 작업을 만듭니다.

cron 작업을 통해 MySQL 데이터베이스에 대한 자동 압축 백업을 설정하는 단계를 따라야 합니다.

1단계: 사용자의 홈 디렉토리에 .my.cnf 파일을 만듭니다.

sudo nano ~/.my.cnf

다음과 같이 정확한 텍스트를 작성하십시오.

[client]
user = db_username
password = db_password

자격 증명으로 db_usernamedb_password를 업데이트하는 것을 잊지 마십시오. 예를 들어 사용자 이름은 root이고 암호는 12345입니다.

예제 코드:

[client]
user = root
password = 12345

완료되면 파일을 저장하고 종료합니다.

2단계: 자격 증명 파일의 권한을 제한합니다. 이렇게 하면 지정된 사용자가 액세스할 수 있습니다.

$ chmod 600 ~/.my.cnf

3단계: 다음으로 모든 백업을 한 곳에 저장할 디렉터리를 만듭니다.

$ mkdir ~/database_backups

4단계: 지금 crontab 파일을 엽니다.

$ crontab -e

방금 연 crontab 파일에 다음 작업을 작성합니다. 매일 오전 3시에 데이터베이스 압축 백업을 생성합니다.

다음 작업에서 사용자 이름은 root, 데이터베이스 이름은 test, database_backups 폴더는 모든 백업을 저장합니다.

$ 0 3* * * /usr/bin/mysqldump -u root test | gzip > /home/root/database_backups/test-$(date +\%Y\%m\%d).gz
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

관련 문장 - MySQL Dump