Export Database in MySQL
특정 Database만 dump
# One Database
$ mysqldump -u root -p dbname > dbname.sql
# Schema only
$ mysqldump -u root -p --no-data dbname > dbname_schema.sql
전체 Database dump
# All databases
$ mysqldump -u root -p --all-databases > alldatabases.sql
# Schema only
$ mysqldump -u root -p --no-data --all-databases > alldb_schema.sql
dump를 하면 database lock이 걸릴수 있기 때문에 lock이 걸리면 안되는 경우 아래 옵션을 사용해준다
--routines --triggers --skip-lock-tables --single-transaction
# One Database - no lock
$ mysqldump -u root -p --routines --triggers --skip-lock-tables --single-transaction dbname > dbname.sql
# All databases - no lock
$ mysqldump -u root -p --routines --triggers --skip-lock-tables --single-transaction --no-data --all-databases > alldatabases.sql
Import dump in MySQL
database, schema only dump 모두 같은 명령어 사용
$ mysql -u root -p < adddatabases.sql
dump 도중 function 함수를 만들지 못하는 에러가 발생하면 mysql console에 접속해서 아래 작업을 해준다.
mysql > SET GLOBAL log_bin_trust_function_creators='ON';
mysql > flush privileges;
반응형
'Programming > MySQL' 카테고리의 다른 글
[Upsert] 값이 없으면 Insert 하고, 값이 있으면 update 하기 (0) | 2017.01.15 |
---|---|
[mysql_config_editor] 암호화된 인증정보로 로그인 (0) | 2016.12.11 |