> 운영 및 유지보수 > 리눅스 운영 및 유지 관리 > Linux에서 데이터베이스를 백업하고 복원하는 방법

Linux에서 데이터베이스를 백업하고 복원하는 방법

PHPz
풀어 주다: 2023-07-05 12:04:43
원래의
4311명이 탐색했습니다.

Linux에서 데이터베이스 백업 및 복원 방법

Linux 운영 체제에서 데이터베이스 백업 및 복원은 매우 중요한 작업입니다. 데이터 손실을 방지하기 위해서든 데이터베이스를 마이그레이션하기 위해서든 이 기술을 숙달해야 합니다. 이 문서에서는 Linux에서 데이터베이스를 백업 및 복원하는 방법을 소개하고 해당 코드 예제를 제공합니다.

1. 데이터베이스 백업

  1. mysqldump 명령을 사용하여 MySQL 데이터베이스 백업

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템인 mysqldump 명령을 사용하여 MySQL 데이터베이스를 백업할 수 있습니다. 아래와 같이:

mysqldump -u <username> -p<password> <database_name> > <backup_file.sql>
로그인 후 복사

여기서 <username>는 데이터베이스의 사용자 이름이고, <password>는 데이터베이스의 비밀번호이며, < Database_name>< /code>는 백업할 데이터베이스의 이름이고, <code><backup_file.sql>은 백업 파일의 경로와 파일 이름입니다. 예를 들어 "mydb"라는 데이터베이스를 백업하려면 다음 명령을 실행할 수 있습니다. <username>是数据库的用户名,<password>是数据库的密码,<database_name>是要备份的数据库名称,<backup_file.sql>是备份文件的路径及文件名。例如,要备份名为"mydb"的数据库,可以执行以下命令:

mysqldump -u root -p123456 mydb > /backup/mydb_backup.sql
로그인 후 복사
  1. 使用pg_dump命令备份PostgreSQL数据库

类似地,备份PostgreSQL数据库可以使用pg_dump命令。如下所示:

pg_dump -U <username> -W -Ft <database_name> -f <backup_file.tar>
로그인 후 복사

其中,<username>是数据库的用户名,<database_name>是要备份的数据库名称,<backup_file.tar>是备份文件的路径及文件名。例如,要备份名为"mydb"的数据库,可以执行以下命令:

pg_dump -U postgres -W -Ft mydb -f /backup/mydb_backup.tar
로그인 후 복사

二、还原数据库

  1. 还原MySQL数据库

要还原MySQL数据库,可以使用以下命令:

mysql -u <username> -p<password> <database_name> < <backup_file.sql>
로그인 후 복사

其中,<username>是数据库的用户名,<password>是数据库的密码,<database_name>是要还原的数据库名称,<backup_file.sql>是备份文件的路径及文件名。例如,要将备份文件"mydb_backup.sql"还原到名为"mydb"的数据库中,可以执行以下命令:

mysql -u root -p123456 mydb < /backup/mydb_backup.sql
로그인 후 복사
  1. 还原PostgreSQL数据库

要还原PostgreSQL数据库,可以使用以下命令:

pg_restore -U <username> -d <database_name> <backup_file.tar>
로그인 후 복사

其中,<username>是数据库的用户名,<database_name>是要还原的数据库名称,<backup_file.tar>

pg_restore -U postgres -d mydb /backup/mydb_backup.tar
로그인 후 복사

    pg_dump 명령을 사용하여 PostgreSQL 데이터베이스를 백업합니다.

    마찬가지로 다음 명령을 사용할 수 있습니다. PostgreSQL 데이터베이스를 백업하는 pg_dump 명령입니다. 아래와 같이

    #!/bin/bash
    
    #数据库备份路径
    backup_dir="/backup"
    #数据库用户名
    username="root"
    #数据库密码
    password="123456"
    #需要备份的数据库名称
    database_name="mydb"
    #备份文件名
    backup_file="${backup_dir}/${database_name}_backup_$(date +%Y%m%d%H%M%S).sql"
    
    #执行备份命令
    mysqldump -u ${username} -p${password} ${database_name} > ${backup_file}
    
    #删除过期备份(保留最近7天的备份)
    find ${backup_dir} -name "${database_name}_backup_*" -type f -mtime +7 -exec rm -f {} ;
    로그인 후 복사

    여기서, <username>는 데이터베이스의 사용자 이름이고, <database_name>은 백업할 데이터베이스의 이름이며, <backup_file .tar>는 백업 파일의 경로와 파일 이름입니다. 예를 들어 "mydb"라는 데이터베이스를 백업하려면 다음 명령을 실행할 수 있습니다.

    crontab -e
    로그인 후 복사

    2. 데이터베이스 복원

    MySQL 데이터베이스 복원

    MySQL 데이터베이스를 복원하려면 다음 명령을 사용할 수 있습니다.

    0 2 * * * /bin/bash /path/to/backup.sh
    로그인 후 복사

    여기서, <username>은 데이터베이스의 사용자 이름이고, <password>는 데이터베이스의 비밀번호이고, <database_name> code>는 복원할 데이터베이스의 이름이고, <backup_file.sql>은 백업 파일의 경로와 파일 이름입니다. 예를 들어 백업 파일 "mydb_backup.sql"을 "mydb"라는 데이터베이스로 복원하려면 다음 명령을 실행할 수 있습니다.

    rrreee
      🎜PostgreSQL 데이터베이스 복원 🎜🎜🎜PostgreSQL을 복원하려면 데이터베이스의 경우 다음 명령을 사용할 수 있습니다. 🎜rrreee🎜여기서 <username>는 데이터베이스의 사용자 이름이고, <database_name>은 데이터베이스의 이름입니다. 복원하려면 <backup_file .tar>는 백업 파일의 경로와 파일 이름입니다. 예를 들어, "mydb_backup.tar" 백업 파일을 "mydb"라는 데이터베이스에 복원하려면 다음 명령을 실행하면 됩니다. 🎜rrreee🎜 3. 데이터베이스를 정기적으로 백업하세요. 🎜🎜 데이터베이스를 정기적으로 백업하면 보안과 보안을 보장할 수 있습니다. 데이터의 무결성. 셸 스크립트를 작성하고 crontab 예약 작업을 사용하면 데이터베이스를 자동으로 백업할 수 있습니다. 🎜🎜다음은 간단한 백업 스크립트의 예입니다. 🎜rrreee🎜위 스크립트를 backup.sh로 저장하고 실행 권한을 추가하세요. 🎜🎜다음으로 crontab을 사용하여 예약된 작업을 추가합니다. 🎜rrreee🎜열린 파일에 매일 오전 2시에 백업 작업이 실행된다는 내용을 추가합니다. 🎜rrreee🎜저장하고 종료합니다. 🎜🎜위의 방법을 사용하면 Linux에서 데이터베이스를 쉽게 백업 및 복원하고 정기적으로 백업 작업을 수행할 수 있습니다. 데이터베이스의 보안과 무결성을 보장하는 것은 데이터가 손실되지 않도록 하는 중요한 조치 중 하나입니다. 🎜

    위 내용은 Linux에서 데이터베이스를 백업하고 복원하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿