SQL작업에 필요한 폴더를 생성할 때 Finder(내컴퓨터)에서 직접 생성할 수 있지만, 터미널에서 명령문을 사용하여 SQL 폴더를 생성하여 사용할 수 있다.
~ % cd documens //문서 폴더로 이동
documens % mkdir sql_ws //sql_ws 폴더 생성
documens % cd sql_ws //문서 하위 폴더인 sql_ws 폴더로 이동
Shell Command: Install ‘code’ command in PATH 을 설치해야 한다.sql_ws % sql_ws % code .
% cd sql_ws //sql_ws 폴더로 이동
sql_ws % mysql -u root -p //sql_ws 폴더 위치에서 MySQL 실행
mysql source /경로/SQL파일이름.sql
mysql \. /경로/SQL파일이름.sql //source 대신 \. 사용가능
mysql SQL파일이름.sql //현재 폴더에 파일이 있다면 경로 생략 가능
데이터베이스 SQL 파일을 백업할 때는 mysqldump 명령어를 사용한다.
// 특정 데이터베이스 백업
sql_ws % mysqldump -u <사용자이름> -p <백업할 DB이름> > <저장할 파일.SQL>
// 모든 데이터베이스 백업
sql_ws % mysqldump -u <사용자이름> -p --all-databases > <저장할 파일.sql>
// 사용자 이름이 "root"이고 백업할 DB이름이 "testDB"이며, 백업 저장 파일 이름이 backUP.sql인 경우
sql_ws % mysqldump -u root -p testDB > backUP.sql
mysql> source backUP.sql
데이터베이스 전체가 아닌 특정 테이블만 백업할 수도 있다.
// 특정 데이터베이스 테이블 백업
sql_ws % mysqldump -u <사용자이름> -p <백업할 테이블이 있는 DB이름> <백업할 테이블명> > <저장할 파일.SQL>
// 사용자 이름이 "root"이고 백업할 테이블이 있는 DB이름이 "testDB"이며, 백업할 테이블 이름은 tableBK 마지막으로 테이블 백업 저장 파일 이름이 backUP.sql인 경우
sql_ws % mysqldump -u root -p testDB tableBK > backUP.sql
mysql> source backUP.sql
테이블 구조만 백업할 수 있다. (테이블 내부 데이터는 백업 X)
테이블 구조인 스키마만을 백업할 때는 -d 옵션을 추가하여 명령문을 작성한다.
// 특정 테이블 구조만 백업
sql_ws % mysqldump -d -u <사용자이름> -p <백업할 DB이름> <백업할 테이블명> > <저장할 파일.SQL>
// 모든 테이블 구조를 백업
sql_ws % mysqldump -d -u <사용자이름> -p --all-databases > <저장할 파일.sql>