✔ 1) 작업 디렉토리로 이동 해당 데이터베이스에 접속
% cd sql_ws
sql_ws % mysql -u root -p zerobase
✔ 2) sql 파일을 실행
source test01.sql
-> source 대신에 \. 사용가능
-> 현재 폴더에 파일이 있으면 path 생략가능
✔ 3) 결과확인
mysql> DESC police_station;
🎁 mysql에 접속하지 않고 외부에서 바로 실행하는 법
% mysql -u username -p databasename < path/filename.sql
✔ test Database에 접속하면서 abc라는 sql 파일 실행
mysql -u root -p test < abc.sql
sql 파일 형태로 백업 파일을 만드는 것이 가능하다.
백업한 sql 파일을 실행하여 그 시점으로 복구하거나 이전 할 수 있다.
local에서 백업한 파일을 remote에서 복구 시킬 수 있다.(반대로도 가능)
sql 파일로 Database를 백업할 수 있다.
특정 Database만 백업하는 법
% mysqldump -u username -p dbname > backup.sql
모든 Database 백업하는 법
% mysqldump -u username -p --all-databases > backup.sql
✔ tmp 데이터베이스를 abc라는 파일명으로 백업
% mysqldump -u root -p tmp > abc.sql
✔ tmp 데이터베이스를 복원
% mysql source abc.sql
% mysqldump --set-gtid-purged=OFF -h hostname -P port -u username -p databasename > filename.sql
table 단위로도 백업을 할 수 있다.
sql_ws % mysqldump -u username -p dbname tablename > backup.sql
백업파일을 복구시키는 방법은 sql 파일을 실행시키는 것과 동일하다.
sql_ws % mysqldump -u username -p dbname < backup.sql
✔ local database에서 tmp 데이터베이스에 있는 celeb 테이블을 백업
sql_ws % mysqldump -u root -p tmp celeb > backup.sql
✔ AWS RDS(database-1)의 zerobase에 접속한 후 celeb 테이블을 복구
% mysql source backup.sql
데이터를 제외하고 테이블 생성 쿼리만 백업할 수 있다.
특정 table schema만 백업
% mysqldump -d -u username -p dbname tablename > backup.sql
모든 table schema만 백업
% mysqldump -d -u username -p dbname > backup.sql