MySQL에서 데이터베이스를 복사하고자 할때 일반적으로 두가지 경우로 나뉠수있을것 이다. 첫째는 같은 이름으로 복원기능과 같은 복사이고 다른 경우는 다른 이름으로 기존에 있던 데이터를 그대로 유지하고 다른이름으로 데이터베이스를 복사하고자 할때이다.


복원과 같은 기능을 쓰고자 할때

mysqldump -u[root] -p[*****] --database [복사할데이터베이스이름] > [적당한데이터베이스이름].sql


ex) sheel> mysqldump -uroot -p***** --database customdb > dump2015_11_.sql



복원시키려면 (데이터베이스 원래 이름인 customdb 으로 복원된다)


mysql -u[root] -p[****] < [덤프데이터베이스이름].sql


ex) mysql -uroot -p****  < dump2015_11.sql

ex) mysql -uroot -p****  test < dump2015_11.sql  <- test와 같이 별도로 적어주어도 적용되지 않는다





다른이름으로 복사하는 기능을 쓰고자 할때 (--database 옵션을 넣으면 안된다)

mysqldump -u[root] -p[*****] [복사할데이터베이스이름] > [적당한데이터베이스이름].sql


ex) sheel> mysqldump -uroot -p***** customdb > dump2015_11_.sql



다른이름으로 복사하려면 

mysqladmin -u[root] -p[****] create [새로운 데이터베이스 이름]

mysql -u[root] -p[****] [새로운 데이터베이스 이름] < [덤프데이터베이스이름].sql


ex)  mysqladmin -u[root] -p[****] create newcustomer

     mysql -uroot -p****  newcustomer < dump2015_11.sql

기존 customdb는 새로 생성한 newcustomer에 복사되어 진다.