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;
반응형