집 >데이터 베이스 >MySQL 튜토리얼 >테이블 이름을 미리 알지 못한 채 MySQL 테이블을 별도의 파일에 자동으로 덤프하려면 어떻게 해야 합니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!