본문 바로가기

DB(SQL)/mysql|maria

[MYSQL] mysqldump 기본 문법 (Database Backup Program)

반응형

MARIA DB도 mysqldump로 백업이 가능하다.
https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html

 

MySQL :: MySQL 8.0 Reference Manual :: 4.5.4 mysqldump — A Database Backup Program

4.5.4 mysqldump — A Database Backup Program The mysqldump client utility performs logical backups, producing a set of SQL statements that can be executed to reproduce the original database object definitions and table data. It dumps one or more MySQL da

dev.mysql.com

https://mariadb.com/kb/en/mariadb-dumpmysqldump/

 

mariadb-dump/mysqldump

Dump a database or a collection of databases in a portable format.

mariadb.com

 

Usage

기본 문법 basic Invocation syntax (export)

# one or more tables backup
# 하나 또는 여러개의 테이블
mysqldump [options] db_name [tbl_name ...]

# one or more complete databases backup
# 하나 또는 여러개의 데이터베이스
mysqldump [options] --databases db_name ...

# all database server 
# DB의 모든 정보
mysqldump [options] --all-databases

# only mariadb
# Dump the database's system tables in a logical form
mysqldump [options] --system=[option_list]

덤프파일 로드 basic dumpfile load syntax

# localhost dumpfile load
mysql db_name < backup-file.sql

mysql -e "source /path-to-backup/backup-file.sql" db_name

# copy to another mysql server
# 다른 mysql server에 데이터 copy 하기
mysqldump --opt db_name | mysql --host=remote_host -C db_name

자주 사용하는 옵션 예시 Examples of frequently used option syntax

# one database all data
mysqldump -u [username] -p [password] [다른 옵션] db_name> dumpFileName.sql
# one 
mysqldump -u [username] -p [password] [기타 옵션] db_name [tbl_name1 tbl_name2 tbl_name2 ...]> dumpFileName.sql /// 하나 이상의 테이블을 백업하려면
mysqldump -u [username] -p [password] [다른 옵션들] --databases db_name1 db_name2 db_name3 ...> dumpFileName.sql /// 하나 이상의 완전한 데이터베이스 백업하기
mysqldump -u [username] -p [password] [다른 옵션들] --all-databases> dumpFileName.sql /// 전체 MySQL 서버 백업하기

 

mysqldumpOption

https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#mysqldump-option-summary

 

MySQL :: MySQL 8.0 Reference Manual :: 4.5.4 mysqldump — A Database Backup Program

4.5.4 mysqldump — A Database Backup Program The mysqldump client utility performs logical backups, producing a set of SQL statements that can be executed to reproduce the original database object definitions and table data. It dumps one or more MySQL da

dev.mysql.com

https://mariadb.com/kb/en/mariadb-dumpmysqldump/#options

 

mariadb-dump/mysqldump

Dump a database or a collection of databases in a portable format.

mariadb.com

 

Option Name Description 설명 Introduced Deprecated
--add-drop-database Add DROP DATABASE statement before each CREATE DATABASE statement 각 CREATE DATABASE 문 앞에 DROP DATABASE 문 추가    
--add-drop-table Add DROP TABLE statement before each CREATE TABLE statement 각 CREATE TABLE 문 앞에 DROP TABLE 문 추가    
--add-drop-trigger Add DROP TRIGGER statement before each CREATE TRIGGER statement 각 CREATE TRIGGER 문 앞에 DROP TRIGGER 문 추가    
--add-locks Surround each table dump with LOCK TABLES and UNLOCK TABLES statements 각 테이블 덤프를 LOCK TABLES 및 UNLOCK TABLES 문으로 묶습니다.    
--all-databases Dump all tables in all databases 모든 데이터베이스의 모든 테이블 덤프    
--allow-keywords Allow creation of column names that are keywords 키워드인 열 이름 생성 허용    
--apply-replica-statements Include STOP REPLICA prior to CHANGE REPLICATION SOURCE TO statement and START REPLICA at end of output CHANGE REPLICATION SOURCE TO 문 앞에 STOP REPLICA를 포함하고 출력 끝에 START REPLICA를 포함합니다. 8.0.26  
--apply-slave-statements Include STOP SLAVE prior to CHANGE MASTER statement and START SLAVE at end of output CHANGE MASTER 문 앞에 STOP SLAVE를 포함하고 출력 끝에 START SLAVE를 포함합니다.   8.0.26
--bind-address Use specified network interface to connect to MySQL Server 지정된 네트워크 인터페이스를 사용하여 MySQL 서버에 연결    
--character-sets-dir Directory where character sets are installed 문자 집합이 설치된 디렉토리    
--column-statistics Write ANALYZE TABLE statements to generate statistics histograms ANALYZE TABLE 문을 작성하여 통계 히스토그램 생성    
--comments Add comments to dump file 덤프 파일에 주석 추가    
--compact Produce more compact output 보다 컴팩트한 출력 생성    
--compatible Produce output that is more compatible with other database systems or with older MySQL servers 다른 데이터베이스 시스템 또는 이전 MySQL 서버와 더 호환되는 출력 생성    
--complete-insert Use complete INSERT statements that include column names 열 이름을 포함하는 완전한 INSERT 문 사용    
--compress Compress all information sent between client and server 클라이언트와 서버 간에 전송되는 모든 정보 압축   8.0.18
--compression-algorithms Permitted compression algorithms for connections to server 서버 연결에 허용되는 압축 알고리즘 8.0.18  
--create-options Include all MySQL-specific table options in CREATE TABLE statements CREATE TABLE 문에 모든 MySQL 관련 테이블 옵션 포함    
--databases Interpret all name arguments as database names 모든 이름 인수를 데이터베이스 이름으로 해석    
--debug Write debugging log 디버깅 로그 쓰기    
--debug-check Print debugging information when program exits 프로그램 종료 시 디버깅 정보 인쇄    
--debug-info Print debugging information, memory, and CPU statistics when program exits 프로그램 종료 시 디버깅 정보, 메모리 및 CPU 통계 인쇄    
--default-auth Authentication plugin to use 사용할 인증 플러그인    
--default-character-set Specify default character set 기본 문자 집합 지정    
--defaults-extra-file Read named option file in addition to usual option files 일반적인 옵션 파일 외에 명명된 옵션 파일 읽기    
--defaults-file Read only named option file 명명된 옵션 파일 읽기 전용    
--defaults-group-suffix Option group suffix value 옵션 그룹 접미사 값    
--delete-master-logs On a replication source server, delete the binary logs after performing the dump operation 복제 소스 서버에서 덤프 작업 수행 후 바이너리 로그 삭제   8.0.26
--delete-source-logs On a replication source server, delete the binary logs after performing the dump operation 복제 소스 서버에서 덤프 작업 수행 후 바이너리 로그 삭제 8.0.26  
--disable-keys For each table, surround INSERT statements with statements to disable and enable keys 각 테이블에 대해 INSERT 문을 키를 비활성화 및 활성화하는 문으로 묶습니다.    
--dump-date Include dump date as "Dump completed on" comment if --comments is given --comments가 제공된 경우 덤프 날짜를 "Dump completed on" 주석으로 포함합니다.    
--dump-replica Include CHANGE REPLICATION SOURCE TO statement that lists binary log coordinates of replica's source 복제본 소스의 바이너리 로그 좌표를 나열하는 CHANGE REPLICATION SOURCE TO 문 포함 8.0.26  
--dump-slave Include CHANGE MASTER statement that lists binary log coordinates of replica's source 복제본 소스의 바이너리 로그 좌표를 나열하는 CHANGE MASTER 문 포함   8.0.26
--enable-cleartext-plugin Enable cleartext authentication plugin 일반 텍스트 인증 플러그인 사용    
--events Dump events from dumped databases 덤프된 데이터베이스의 덤프 이벤트    
--extended-insert Use multiple-row INSERT syntax 다중 행 INSERT 구문 사용    
--fields-enclosed-by This option is used with the --tab option and has the same meaning as the corresponding clause for LOAD DATA 이 옵션은 --tab 옵션과 함께 사용되며 LOAD DATA에 대한 해당 절과 동일한 의미를 갖습니다.    
--fields-escaped-by This option is used with the --tab option and has the same meaning as the corresponding clause for LOAD DATA 이 옵션은 --tab 옵션과 함께 사용되며 LOAD DATA에 대한 해당 절과 동일한 의미를 갖습니다.    
--fields-optionally-enclosed-by This option is used with the --tab option and has the same meaning as the corresponding clause for LOAD DATA 이 옵션은 --tab 옵션과 함께 사용되며 LOAD DATA에 대한 해당 절과 동일한 의미를 갖습니다.    
--fields-terminated-by This option is used with the --tab option and has the same meaning as the corresponding clause for LOAD DATA 이 옵션은 --tab 옵션과 함께 사용되며 LOAD DATA에 대한 해당 절과 동일한 의미를 갖습니다.    
--flush-logs Flush MySQL server log files before starting dump 덤프를 시작하기 전에 MySQL 서버 로그 파일 플러시    
--flush-privileges Emit a FLUSH PRIVILEGES statement after dumping mysql database mysql 데이터베이스를 덤프한 후 FLUSH PRIVILEGES 문을 내보냅니다.    
--force Continue even if an SQL error occurs during a table dump 테이블 덤프 중 SQL 오류가 발생하더라도 계속    
--get-server-public-key Request RSA public key from server 서버에서 RSA 공개 키 요청    
--help Display help message and exit 도움말 메시지 표시 및 종료    
--hex-blob Dump binary columns using hexadecimal notation 16진수 표기법을 사용하여 이진 열 덤프    
--host Host on which MySQL server is located MySQL 서버가 위치한 호스트    
--ignore-error Ignore specified errors 지정된 오류 무시    
--ignore-table Do not dump given table 주어진 테이블을 덤프하지 마십시오    
--include-master-host-port Include MASTER_HOST/MASTER_PORT options in CHANGE MASTER statement produced with --dump-slave --dump-slave로 생성된 CHANGE MASTER 문에 MASTER_HOST/MASTER_PORT 옵션 포함   8.0.26
--include-source-host-port Include SOURCE_HOST and SOURCE_PORT options in CHANGE REPLICATION SOURCE TO statement produced with --dump-replica --dump-replica로 생성된 CHANGE REPLICATION SOURCE TO 문에 SOURCE_HOST 및 SOURCE_PORT 옵션 포함 8.0.26  
--insert-ignore Write INSERT IGNORE rather than INSERT statements INSERT 문보다 INSERT IGNORE를 작성하십시오.    
--lines-terminated-by This option is used with the --tab option and has the same meaning as the corresponding clause for LOAD DATA 이 옵션은 --tab 옵션과 함께 사용되며 LOAD DATA에 대한 해당 절과 동일한 의미를 갖습니다.    
--lock-all-tables Lock all tables across all databases 모든 데이터베이스에서 모든 테이블 잠금    
--lock-tables Lock all tables before dumping them 덤프하기 전에 모든 테이블을 잠급니다.    
--log-error Append warnings and errors to named file 명명된 파일에 경고 및 오류 추가    
--login-path Read login path options from .mylogin.cnf .mylogin.cnf에서 로그인 경로 옵션 읽기    
--master-data Write the binary log file name and position to the output 바이너리 로그 파일 이름과 위치를 출력에 씁니다.   8.0.26
--max-allowed-packet Maximum packet length to send to or receive from server 서버와 송수신할 최대 패킷 길이    
--net-buffer-length Buffer size for TCP/IP and socket communication TCP/IP 및 소켓 통신을 위한 버퍼 크기    
--network-timeout Increase network timeouts to permit larger table dumps 더 큰 테이블 덤프를 허용하도록 네트워크 시간 초과를 늘립니다.    
--no-autocommit Enclose the INSERT statements for each dumped table within SET autocommit = 0 and COMMIT statements SET autocommit = 0 및 COMMIT 문 내에서 각 덤프된 테이블에 대한 INSERT 문을 묶습니다.    
--no-create-db Do not write CREATE DATABASE statements CREATE DATABASE 문을 작성하지 마십시오.    
--no-create-info Do not write CREATE TABLE statements that re-create each dumped table 덤프된 각 테이블을 다시 생성하는 CREATE TABLE 문을 작성하지 마십시오.    
--no-data Do not dump table contents 테이블 내용을 덤프하지 마십시오.    
--no-defaults Read no option files 옵션 파일을 읽지 않음    
--no-set-names Same as --skip-set-charset --skip-set-charset과 동일    
--no-tablespaces Do not write any CREATE LOGFILE GROUP or CREATE TABLESPACE statements in output 출력에 CREATE LOGFILE GROUP 또는 CREATE TABLESPACE 문을 쓰지 마십시오.    
--opt Shorthand for --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset 의 약어    
--order-by-primary Dump each table's rows sorted by its primary key, or by its first unique index 기본 키 또는 첫 번째 고유 인덱스별로 정렬된 각 테이블의 행을 덤프합니다.    
--password Password to use when connecting to server 서버 접속 시 사용할 비밀번호    
--password1 First multifactor authentication password to use when connecting to server 서버에 연결할 때 사용할 첫 번째 다단계 인증 암호 8.0.27  
--password2 Second multifactor authentication password to use when connecting to server 서버에 연결할 때 사용할 두 번째 다단계 인증 암호 8.0.27  
--password3 Third multifactor authentication password to use when connecting to server 서버에 연결할 때 사용할 세 번째 다단계 인증 암호 8.0.27  
--pipe Connect to server using named pipe (Windows only) 명명된 파이프를 사용하여 서버에 연결(Windows만 해당)    
--plugin-dir Directory where plugins are installed 플러그인이 설치된 디렉토리    
--port TCP/IP port number for connection 연결을 위한 TCP/IP 포트 번호    
--print-defaults Print default options 기본 옵션 인쇄    
--protocol Transport protocol to use 사용할 전송 프로토콜    
--quick Retrieve rows for a table from the server a row at a time 한 번에 한 행씩 서버에서 테이블에 대한 행 검색    
--quote-names Quote identifiers within backtick characters 백틱 문자 내의 인용 식별자    
--replace Write REPLACE statements rather than INSERT statements INSERT 문보다 REPLACE 문을 작성하십시오.    
--result-file Direct output to a given file 주어진 파일로 직접 출력    
--routines Dump stored routines (procedures and functions) from dumped databases 덤프된 데이터베이스에서 저장된 루틴(프로시저 및 함수) 덤프    
--server-public-key-path Path name to file containing RSA public key RSA 공개 키가 포함된 파일의 경로 이름    
--set-charset Add SET NAMES default_character_set to output 출력에 SET NAMES default_character_set 추가    
--set-gtid-purged Whether to add SET @@GLOBAL.GTID_PURGED to output SET @@GLOBAL.GTID_PURGED를 출력에 추가할지 여부    
--shared-memory-base-name Shared-memory name for shared-memory connections (Windows only) 공유 메모리 연결을 위한 공유 메모리 이름(Windows만 해당)    
--show-create-skip-secondary-engine Exclude SECONDARY ENGINE clause from CREATE TABLE statements CREATE TABLE 문에서 SECONDARY ENGINE 절 제외 8.0.18  
--single-transaction Issue a BEGIN SQL statement before dumping data from server 서버에서 데이터를 덤프하기 전에 BEGIN SQL 문을 실행하십시오.    
--skip-add-drop-table Do not add a DROP TABLE statement before each CREATE TABLE statement 각 CREATE TABLE 문 앞에 DROP TABLE 문을 추가하지 마십시오.    
--skip-add-locks Do not add locks 잠금을 추가하지 마십시오    
--skip-comments Do not add comments to dump file 덤프 파일에 주석을 추가하지 마십시오.    
--skip-compact Do not produce more compact output 더 컴팩트한 출력을 생성하지 마십시오.    
--skip-disable-keys Do not disable keys 키를 비활성화하지 마십시오    
--skip-extended-insert Turn off extended-insert 확장 삽입 끄기    
--skip-opt Turn off options set by --opt --opt로 설정한 옵션 끄기    
--skip-quick Do not retrieve rows for a table from the server a row at a time 한 번에 한 행씩 서버에서 테이블에 대한 행을 검색하지 마십시오.    
--skip-quote-names Do not quote identifiers 식별자를 인용하지 마십시오.    
--skip-set-charset Do not write SET NAMES statement SET NAMES 문을 작성하지 마십시오.    
--skip-triggers Do not dump triggers 트리거를 덤프하지 마십시오.    
--skip-tz-utc Turn off tz-utc tz-utc 끄기    
--socket Unix socket file or Windows named pipe to use 사용할 Unix 소켓 파일 또는 Windows 명명된 파이프    
--source-data Write the binary log file name and position to the output 바이너리 로그 파일 이름과 위치를 출력에 씁니다. 8.0.26  
--ssl-ca File that contains list of trusted SSL Certificate Authorities 신뢰할 수 있는 SSL 인증 기관 목록이 포함된 파일    
--ssl-capath Directory that contains trusted SSL Certificate Authority certificate files 신뢰할 수 있는 SSL 인증 기관 인증서 파일이 포함된 디렉토리    
--ssl-cert File that contains X.509 certificate X.509 인증서가 포함된 파일    
--ssl-cipher Permissible ciphers for connection encryption 연결 암호화에 허용되는 암호    
--ssl-crl File that contains certificate revocation lists 인증서 해지 목록이 포함된 파일    
--ssl-crlpath Directory that contains certificate revocation-list files 인증서 해지 목록 파일이 포함된 디렉토리    
--ssl-fips-mode Whether to enable FIPS mode on client side 클라이언트 측에서 FIPS 모드를 활성화할지 여부    
--ssl-key File that contains X.509 key X.509 키가 포함된 파일    
--ssl-mode Desired security state of connection to server 원하는 서버 접속 보안 상태    
--ssl-session-data File that contains SSL session data SSL 세션 데이터가 포함된 파일 8.0.29  
--ssl-session-data-continue-on-failed-reuse Whether to establish connections if session reuse fails 세션 재사용 실패 시 연결 설정 여부 8.0.29  
--tab Produce tab-separated data files 탭으로 구분된 데이터 파일 생성    
--tables Override --databases or -B option --databases 또는 -B 옵션 재정의    
--tls-ciphersuites Permissible TLSv1.3 ciphersuites for encrypted connections 암호화된 연결에 허용되는 TLSv1.3 암호 제품군 8.0.16  
--tls-version Permissible TLS protocols for encrypted connections 암호화된 연결에 허용되는 TLS 프로토콜    
--triggers Dump triggers for each dumped table 각 덤프 테이블에 대한 덤프 트리거    
--tz-utc Add SET TIME_ZONE='+00:00' to dump file 덤프 파일에 SET TIME_ZONE='+00:00' 추가    
--user MySQL user name to use when connecting to server 서버에 연결할 때 사용할 MySQL 사용자 이름    
--verbose Verbose mode 상세 모드    
--version Display version information and exit 버전 정보 표시 및 종료    
--where Dump only rows selected by given WHERE condition 주어진 WHERE 조건에 의해 선택된 행만 덤프    
--xml Produce XML output XML 출력 생성    
--zstd-compression-level Compression level for connections to server that use zstd compression zstd 압축을 사용하는 서버 연결을 위한 압축 수준 8.0.18  
반응형