위 링크에서 보듯이, 전체 데이터베이스 콘텐츠가 내보내지는데, 조건을 가지고 내보낼 수 있나요? 물론 너는 할 수 있어!
명령:
매개변수 분석:
- -h: 데이터베이스 주소를 지정하세요
- --port: 데이터베이스 포트를 지정하세요. 기본 포트 3306이라면 생략할 수 있습니다
- -U: 계좌번호
- -p: 비밀번호
- db_name: 어떤 데이터베이스를 내보낼 것인지를 의미합니다
- tab_name: 어떤 테이블을 내보내야 하는지를 의미합니다
- --여기서: 데이터 필터 기준
- --no-create-info: CREATE TABLE 문은 추가하지 않고 데이터만 내보내기.
마지막에 저장 공간을 내보내야 할 위치까지 경로를 따라가세요.
설명:
-t: 가이드 데이터만요
--여기서 조건
--triggers=false: 트리거를 안내하지 마세요
--replace: INSERT INT를 REPLACE INT로 교체합니다
조건:
--모든 데이터베이스, -A
모든 데이터베이스를 내보내세요.
mysqldump -uroot -p --all-databases
--모든 테이블 공간, -Y
모든 테이블스페이스를 내보내세요.
mysqldump -uroot -p --all-databases --all-tablespaces
--테이블 공간이 없으면 , -y
테이블스페이스 정보는 내보내지 않습니다.
mysqldump -uroot -p --all-databases --no-tablespaces
--데이터베이스 추가-삭제
각 데이터베이스를 만들기 전에 데이터베이스 문장을 추가하세요.
mysqldump -uroot -p --all-databases --add-drop-database
--추가-드롭-테이블
각 데이터 테이블을 만들기 전에 드롭 테이블 문장을 추가하세요. (기본값이 열려 있으니 --skip-add-drop-table을 사용해 취소 옵션)
mysqldump -uroot -p --all-databases (기본적으로 drop 문만 추가)
mysqldump -uroot -p --all-databases –skip-add-drop-table (undrop 문)
--잠금 장치
각 테이블을 내보내기 전에 LOCK TABLE을 추가하고, 그 후에 UNLOCK TABLE을 추가하세요. (기본값이 켜져 있으니 --skip-add-locks 옵션을 사용해 취소 옵션)
mysqldump -uroot -p --all-databases (기본적으로 LOCK 문이 추가됨)
mysqldump -uroot -p --all-databases –skip-add-locks (unlock statement)
--allow-키워드
키워드로 된 열명을 생성할 수 있습니다. 이는 각 열명 앞에 테이블 이름을 접두사로 붙여 처리합니다.
mysqldump -uroot -p --all-databases --allow-keywords
--적용 슬레이브 문장
내보내기 끝에 'CHANGE MASTER' 전에 'STOP SLAVE'를, 'START SLAVE'를 추가하세요.
mysqldump -uroot -p --all-databases --apply-slave-statements
--character-sets-dir
문자 집합 파일 디렉터리
mysqldump -uroot -p --all-databases --character-sets-dir=/usr/local/mysql/share/mysql/charsets
--댓글
추가 주석 정보. 기본적으로 켜져 있으며, --skip-comments로 취소할 수 있습니다
mysqldump -uroot -p --all-databases (기본 레코드 주석)
mysqldump -uroot -p --all-databases --skip-comments (uncomment)
--호환
내보내는 데이터는 다른 데이터베이스나 구버전 MySQL과 호환됩니다. 값은 ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options 등이 될 수 있습니다.
여러 값을 사용할 때는 쉼표로 간격을 두세요. 완전히 호환된다는 보장은 없지만 가능한 한 많이 맞춰야 합니다.
mysqldump -uroot -p --all-databases --compatible=ansi
--컴팩트
디버깅을 위해 출력 정보를 덜 내보내세요. 주석이나 앞뒤 같은 구조를 제거하세요. 옵션은 다음과 같습니다: --skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys
mysqldump -uroot -p --all-databases --compact
--완전 삽입, -c
전체 삽입문(열명 포함)을 사용하세요. 이로 인해 삽입 효율이 향상될 수 있지만, max_allowed_packet 매개변수에 의해 영향을 받아 삽입 실패가 발생할 수 있습니다.
mysqldump -uroot -p --all-databases --complete-insert
--압축, -C
클라이언트와 서버 간에 모든 정보를 전달하기 위해 압축 기능을 활성화합니다
mysqldump -uroot -p --all-databases --compress
--생성 옵션, -a
CREATE TABLE 문에 모든 MySQL 기능 옵션을 포함하세요. (기본값이 켜져 있습니다)
mysqldump -uroot -p --all-databases
--데이터베이스, -B
여러 데이터베이스를 내보내세요. 매개변수 뒤에 오는 모든 이름 매개변수는 데이터베이스 이름으로 처리됩니다.
mysqldump -uroot -p --databases test mySQL
--디버그
디버깅을 위한 디버그 정보를 출력합니다. 기본 값은 d:t:o,/tmp/mysqldump.trace입니다
mysqldump -uroot -p --all-databases --debug
mysqldump -uroot -p --all-databases --debug=" d:t:o,/tmp/debug.trace"
--디버그-체크
메모리 확인과 파일 열기 명령어를 확인한 후 종료하세요.
mysqldump -uroot -p --all-databases --debug-check
--디버그-정보
디버그 정보를 출력하고 종료합니다
mysqldump -uroot -p --all-databases --debug-info
--기본 문자 집합
기본 문자 세트를 설정하세요. 기본값은 utf8입니다
mysqldump -uroot -p --all-databases --default-character-set=latin1
--지연 삽입
데이터 내보내기 지연 삽입
mysqldump -uroot -p --all-databases --delayed-insert
--마스터 로그를 삭제
마스터 백업은 로그를 삭제합니다. 이 매개변수는 자동으로 ---master-data를 활성화합니다.
mysqldump -uroot -p --all-databases --delete-master-logs
--비활성화-키
각 테이블에 대해 /*!40000 ALTER TABLE tbl_name DISABLE KEYS */를 사용하세요; 그리고 /*!40000 ALTER TABLE tbl_name ENABLE KEYS */; 이 문장은 INSERT 문장을 참조합니다. 이 방법은 모든 행을 삽입한 후 인덱스를 생성하여 덤프 파일을 더 빠르게 가져올 수 있게 해줍니다. 이 옵션은 MyISAM 테이블에서만 제공되며, 기본적으로 오픈 상태가 됩니다.
mysqldump -uroot -p --all-databases
--쓰레기 노예
이 옵션을 사용하면 내보내진 데이터가 첨부된 파일에 메인 빈로그 위치와 파일 이름이 추가됩니다. 1로 설정하면 CHANGE MASTER 명령어를 사용하여 데이터 파일에 출력합니다. 2로 설정하면 명령어 앞에 설명 정보를 추가하세요. 이 옵션은 --single-트랜잭션이 지정되지 않는 한 --lock-all-tables를 켭니다. 이 옵션은 --lock-tables 옵션을 자동으로 끕니다. 기본 값은 0입니다.
mysqldump -uroot -p --all-databases --dump-slave=1
mysqldump -uroot -p --all-databases --dump-slave=2
--이벤트, -E
수출 이벤트.
mysqldump -uroot -p --all-databases --events
--확장-삽입, -e
INSERT 문법을 여러 개의 VALUES 열로 사용하세요. 이렇게 하면 내보내기 작업이 작아지고 가져오기 속도가 빨라집니다. 기본 열린 상태이고, --skip-extended-insert 옵션을 사용해 취소하세요.
mysqldump -uroot -p --all-databases
mysqldump -uroot -p --all-databases--skip-extended-insert (unoption)
--필드-종료-by
내보내기 파일에 주어진 필드는 무시하세요. --tab 옵션과 함께 사용되며, --databases나 --all-databases 옵션에는 사용되지 않습니다
mysqldump -uroot -p test test --tab="/home/mysql" --fields-terminated-by="#"
--필드-둘러싸-by
출력 파일 내 개별 필드는 주어진 문자들로 감싸집니다. --tab 옵션과 함께 사용되며, --databases나 --all-databases 옵션에는 사용되지 않습니다
mysqldump -uroot -p test test --tab="/home/mysql" --fields-enclosed-by="#"
--필드-선택적으로 포함-
출력 파일의 필드는 주어진 문자로 선택적으로 랩됩니다. --tab 옵션과 함께 사용되며, --databases나 --all-databases 옵션에는 사용되지 않습니다
mysqldump -uroot -p test test --tab="/home/mysql" --fields-enclosed-by="#" --fields-optionally-enclosed-by ="#"
--필드-에스케이프-바이
출력 파일의 개별 필드는 주어진 문자를 무시합니다. --tab 옵션과 함께 사용되며, --databases나 --all-databases 옵션에는 사용되지 않습니다
mysqldump -uroot -p mysql user --tab="/home/mysql" --fields-escaped-by="#"
--플러시 로그스
내보내기 시작하기 전에 로그를 새로고침하세요.
참고: 여러 데이터베이스를 한 번에 내보내면(--databases 또는 --all-databases 옵션을 사용), 로그는 데이터베이스별로 새로고침됩니다. --lock-all-tables 또는 --master-data를 사용하는 경우를 제외하고는요. 이 경우 로그는 한 번 새로고침되고 해당 테이블도 동시에 잠깁니다. 따라서 로그를 내보내고 플러시할 계획이라면 --lock-all-tables 또는 --master-data와 --flush-logs를 사용해야 합니다.
mysqldump -uroot -p --all-databases --flush-logs
--플러시 특권
mysql 데이터베이스를 내보내고 나서 FLUSH PRIVILEGES 문장을 발행하세요. 적절한 복구를 위해서는 MySQL 데이터베이스와 의존 MySQL 데이터베이스 데이터를 언제든지 내보낼 때 이 옵션을 사용해야 합니다.
mysqldump -uroot -p --all-databases --flush-privileges
--힘
내보내기 중에 발생하는 SQL 오류는 무시하세요.
mysqldump -uroot -p --all-databases --force
--도움말
도움말 정보를 표시하고 나가세요.
mysqldump --도움말
--육각형 덩어리
16진 형식으로 이진 문자열 필드를 내보내세요. 이 옵션은 이진 데이터가 있을 경우 반드시 사용해야 합니다. 영향을 받는 필드 유형은 BINARY, VARBINARY, BLOB입니다.
mysqldump -uroot -p --all-databases --hex-blob
--호스트, -h
내보내야 할 호스트 정보
mysqldump -uroot -p --host=localhost --all-databases
--무시-테이블
지정된 표는 내보내지 않습니다. 여러 테이블을 무시할 때는 한 번에 한 테이블씩 여러 번 반복해야 합니다. 각 테이블은 데이터베이스와 테이블 이름을 모두 지정해야 합니다. 예를 들어: --ignore-table=database.table1 --ignore-table=database.table2 ......
mysqldump -uroot -p --host=localhost --all-databases --ignore-table=mysql.user
--include-master-host-port
'CHANGE MASTER TO..' 생성: --dump-slave 명제에 'MASTER_HOST=<host>,MASTER_PORT=<port>'를 추가한다
mysqldump -uroot -p --host=localhost --all-databases --include-master-host-port
--삽입-무시하기
줄을 삽입할 때 INSERT IGNORE 문장을 사용하세요.
mysqldump -uroot -p --host=localhost --all-databases --insert-ignore
--선-종료-by
출력 파일의 각 줄은 주어진 문자열로 나누어집니다. --tab 옵션과 함께 사용되며, --databases나 --all-databases 옵션에는 사용하지 않습니다.
mysqldump -uroot -p --host=localhost test test --tab="/tmp/mysql" --lines-terminated-by="##"
--모든 테이블 잠금, -x
모든 데이터베이스의 모든 테이블을 잠금하여 데이터 일관성을 확보하세요. 이것은 전역 읽기 잠금이며, --single-트랜잭션과 --lock-테이블 옵션은 자동으로 꺼집니다.
mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables
--락테이블, -l
내보내기 시작하기 전에 모든 테이블을 잠가세요. READ LOCAL으로 테이블을 잠그면 MyISAM 테이블이 병렬로 삽입될 수 있습니다. InnoDB와 BDB처럼 트랜잭션을 지원하는 테이블에는 단일 트랜잭션이 더 나은 선택,--테이블을 전혀 고정할 필요가 없기 때문입니다.
여러 데이터베이스를 내보낼 때,-- 락테이블은 각 데이터베이스별로 테이블을 개별적으로 잠깁니다. 따라서 이 옵션은 내보낸 파일 내 테이블의 데이터베이스 간 논리적 일관성을 보장하지 않습니다. 서로 다른 데이터베이스 테이블의 내보내기 상태는 완전히 다를 수 있습니다.
mysqldump -uroot -p --host=localhost --all-databases --lock-tables
--로그 오류
주어진 파일에 경고와 오류 메시지를 첨부하세요
mysqldump -uroot -p --host=localhost --all-databases --log-error=/tmp/mysqldump_error_log.err
--마스터-데이터
이 옵션은 binlog의 위치와 파일 이름을 출력 파일에 덧붙입니다. 1이면 CHANGE MASTER 명령어가 출력됩니다; 2라면 출력 CHANGE MASTER 명령 전에 주석을 추가하세요. 옵션은 --single-트랜잭션도 명시되지 않는 한 --lock-all-tables 옵션을 켭니다(이 경우 내보내기가 시작될 때 글로벌 리드 락은 짧은 시간을 가집니다; 다른 내용은 아래 --단일 거래 옵션을 참고해 주세요. 이 옵션은 자동으로 꺼집니다 --lock-tables 옵션.
mysqldump -uroot -p --host=localhost --all-databases --master-data=1;
mysqldump -uroot -p --host=localhost --all-databases --master-data=2;
--max_allowed_packet
서버가 전송하고 수락한 최대 패킷 길이입니다.
mysqldump -uroot -p --host=localhost --all-databases --max_allowed_packet=10240
--net_buffer_length
TCP/IP 및 소켓 연결의 캐시 크기.
mysqldump -uroot -p --host=localhost --all-databases --net_buffer_length=1024
--자동 커밋 없음
autocommit/commit 문으로 테이블을 랩하세요.
mysqldump -uroot -p --host=localhost --all-databases --no-autocommit
--no-create-db, -n
CREATE DATABASE 문은 추가하지 않고 데이터를 내보내기만 하면 됩니다.
mysqldump -uroot -p --host=localhost --all-databases --no-create-db
--정보 만들지 않고, -t
CREATE TABLE 문은 추가하지 않고 데이터만 내보내세요.
mysqldump -uroot -p --host=localhost --all-databases --no-create-info
--데이터 없음, -d
데이터는 내보내지 않고, 데이터베이스 테이블 구조만 내보내집니다.
mysqldump -uroot -p --host=localhost --all-databases --no-data
--집합 이름이 없는, -N
--skip-set-charset과 동등하다
mysqldump -uroot -p --host=localhost --all-databases --no-set-names
--옵트
--add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys 와 동등합니다. 이 옵션은 기본적으로 활성화되어 있으며, --skip-opt로 비활성화할 수 있습니다.
mysqldump -uroot -p --host=localhost --all-databases --opt
--기본 순서
기본 키가 존재하거나 첫 번째 고유 키가 있다면, 각 테이블의 레코드를 정렬합니다. 이 방법은 MyISAM 테이블을 InnoDB 테이블로 내보낼 때는 작동하지만, 내보내기 과정이 오래 걸립니다.
mysqldump -uroot -p --host=localhost --all-databases --order-by-primary
--비밀번호, -p
데이터베이스 비밀번호를 연결하세요
--파이프 (창문용)
이름이 지정된 파이프라인을 사용해 mysql에 연결하세요
mysqldump -uroot -p --host=localhost --all-databases --pipe
--포트, -P
데이터베이스 포트 번호에 연결하세요
--프로토콜
사용되는 연결 프로토콜에는 TCP, 소켓, 파이프, 메모리 등이 포함됩니다.
mysqldump -uroot -p --host=localhost --all-databases --protocol=tcp
--빨리, -q
쿼리를 버퍼링하지 않고 바로 표준 출력으로 내보내세요. 기본값이 켜져 있으니 --skip-quick을 사용해 이 옵션을 취소하세요.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-quick
--인용-이름들,-Q
테이블 및 컬럼 이름을 생성하려면 (')를 사용하세요. 기본값이 켜져 있으니, --skip-quote-names를 사용해 이 옵션을 취소하세요.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-quote-names
--교체
REPLACE INTO를 사용해 INSERT INTO를 대체하세요.
mysqldump -uroot -p --host=localhost --all-databases --replace
--결과 파일, -r
지정된 파일에 직접 출력합니다. 이 옵션은 줄 줄 감기를 사용하는 시스템(예: DOS, Windows)에서 사용해야 합니다. 이 옵션은 한 줄만 사용되도록 보장합니다.
mysqldump -uroot -p --host=localhost --all-databases --result-file=/tmp/mysqldump_result_file.txt
--루틴, -R
저장 프로시저뿐만 아니라 사용자 지정 함수도 내보내세요.
mysqldump -uroot -p --host=localhost --all-databases --routines
--집합-문자 집합
출력 파일에 'SET NAMES default_character_set'을 추가하세요. 기본 열린 상태로 설정하고, --skip-set-charset을 사용해 옵션을 닫으세요.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-set-charset
--단일 거래
이 옵션은 데이터를 내보내기 전에 BEGIN SQL 문장을 제출하는데, 이 문은 어떤 애플리케이션도 차단하지 않고 내보내기 시점에 데이터베이스의 일관된 상태를 보장합니다. 이 엔진은 다중 버전 스토리지 엔진에서만 작동하며, 오직 InnoDB에서만 작동합니다. 이 옵션과 --lock-tables 옵션은 상호 배타적인데, LOCK TABLES는 대기 중인 모든 트랜잭션을 암묵적으로 커밋하기 때문입니다. 큰 테이블을 내보내고 싶다면, --quick 옵션을 조합해서 사용하는 게 좋습니다.
mysqldump -uroot -p --host=localhost --all-databases --single-transaction
--덤프 날짜
출력 파일에 내보내기 시간을 추가하세요. 기본 오픈 스테이트를 사용하고, --skip-dump-date 옵션을 사용해 닫으세요.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-dump-date
--스킵-옵트
–opt 옵션을 비활성화하세요.
mysqldump -uroot -p --host=localhost --all-databases --skip-opt
--소켓,-S
mysql에 연결되는 소켓 파일 위치를 지정하면 기본 경로는 /tmp/mysql.sock입니다
mysqldump -uroot -p --host=localhost --all-databases --socket=/tmp/mysqld.sock
--탭,-T
주어진 경로의 각 테이블에 대해 탭 분할 텍스트 파일을 만듭니다. 참고: 같은 컴퓨터에서 실행되는 mysqldump와 mysqld 서버에만 해당됩니다.
mysqldump -uroot -p --host=localhost test test --tab="/home/mysql"
--표
내보낼 테이블 이름을 지정하기 위해 --databases (-B) 매개변수를 덮어씁니다.
mysqldump -uroot -p --host=localhost --databases test --tables test
--트리거
내보내기 트리거. 이 옵션은 기본적으로 활성화되어 있으니, --skip-triggers로 비활성화하세요.
mysqldump -uroot -p --host=localhost --all-databases --triggers
--TZ-UTC
내보내기 상단에 시간대를 TIME_ZONE='+00:00'을 설정하여 다른 시간대에서 내보내거나 데이터가 다른 시간대로 이동할 때 TIMESTAMP 데이터가 정확히 맞도록 하세요.
mysqldump -uroot -p --host=localhost --all-databases --tz-utc
--사용자, -u
연결 번호의 사용자 이름을 명확히 하세요.
--장황하고, --v
여러 플랫폼 정보를 출력하세요.
--버전, -V
mysqldump 버전 정보 출력 및 종료
--여기서 -w
주어진 WHERE 조건에 대해 선택된 레코드만 덤프됩니다. 조건에 명령어 인터프리터별 공간이나 문자가 포함되어 있다면, 반드시 해당 조건을 참조해야 합니다.
mysqldump -uroot -p --host=localhost --all-databases --where=" user='root'"
--xml, -X
XML 형식 내보내기.
mysqldump -uroot -p --host=localhost --all-databases --xml
--plugin_dir
클라이언트 측 플러그인 목록은 다양한 플러그인 버전과의 호환성을 위한 것입니다.
mysqldump -uroot -p --host=localhost --all-databases --plugin_dir="/usr/local/lib/plugin"
--default_auth
클라이언트 플러그인은 기본적으로 권한을 사용합니다.
mysqldump -uroot -p --host=localhost --all-databases --default-auth="/usr/local/lib/plugin<PLUGIN>/"
|