MySQL 테이블 덤프를 별도의 파일로 자동화
Mysqldump는 MySQL 테이블을 개별 파일로 덤프하는 편리한 방법을 제공합니다. 그러나 테이블 이름을 미리 아는 것은 제한 사항입니다. 이 문제를 해결하기 위해 각 테이블을 자동으로 덤프하는 대체 접근 방식이 있습니다.
스크립트 기반 접근 방식:
script-fu를 활용하면 데이터베이스를 쿼리하여 검색할 수 있습니다. 모든 테이블 이름을 지정하고 덤프를 수행하는 스크립트를 만듭니다. MySQL 데이터베이스에 액세스할 수 있는 스크립트 언어는 다음과 같습니다.
자체 포함 Bash 스크립트:
제공된 Bash 스크립트는 프로세스를 더욱 간소화하여 추가 스크립팅이 필요하지 않습니다. 지식:
<code class="bash">#!/bin/bash # dump-tables-mysql.sh [ $# -lt 3 ] && echo "Usage: <DB_HOST> <DB_USER> <DB_NAME> [<DIR>]" && exit 1 DB_host= DB_user= DB= DIR= [ -n "$DIR" ] || DIR=. test -d $DIR || mkdir -p $DIR read -sp "DB password: " DB_pass echo echo "Dumping tables into separate SQL command files for database '$DB' into dir=$DIR" tbl_count=0 for t in $(mysql -NBA -h $DB_host -u $DB_user -p$DB_pass -D $DB -e 'show tables') do echo "DUMPING TABLE: $DB.$t" mysqldump -h $DB_host -u $DB_user -p$DB_pass $DB $t | gzip > $DIR/$DB.$t.sql.gz tbl_count=$(( tbl_count + 1 )) done echo "$tbl_count tables dumped from database '$DB' into dir=$DIR"</code>
이 스크립트는 데이터베이스 비밀번호를 묻는 메시지를 표시하고 각 테이블의 데이터를 별도의 압축 SQL 파일에 덤프한 다음 지정된 디렉터리에 저장합니다. 테이블 이름 검색부터 덤프 파일 생성까지 필요한 모든 단계를 처리합니다.
위 내용은 테이블 이름을 미리 알지 못한 채 MySQL 테이블을 별도의 파일에 자동으로 덤프하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!