Document % mkdir sql_ws Document % cd sql_ws sql_ws %
# cmd 창에서 cd Documents # Documents (내문서)로 이동 mkdir sql_ws # sql_ws 폴더를 만듦 cd sql_ws # sql_ws 폴더로 이동 code . # sql_ws 폴더에서 vscode 실행 : vscode 가 실행됨
sql_ws % code .
생성할 파일 이름을 정하고, 파일 확장자를 .sql 로 입력하면 비어있는 SQL 파일이 생성됩니다.
test01 이라는 sql 파일을 만들었다.
mysql> source </path/filename.sql> mysql> \. </path/filename.sql> # source 대신 \. 사용 가능 mysql> \. <filename.sql> # 현재 폴더에 파일이 있으면 path 생략 가능
CREATE TABLE police_station ( name varchar(16), address varchar(128) );
아래부터는 다시 터미널에서 작성
(vscode 상단 terminal > new terminal 하면 아래에 터미널 창 열림. 여기서 아래 터미널 오른쪽 아래 화살표 > split terminal > git bash 가 있는데, git bash 를 쓰면 더 편하다고 함)
mysql -u root -p
# vscode cmd 창에서 mysql -u root -p show databases;
(zerobase 테이블이 보인다)
create database zerobase default character set utf8mb4;
% cd sql_ws sql_ws % mysql -u root -p zerobase use zerobase # 난 이렇게 들어감
차이를 구분하자
mysql -u root -pzerobase : -pzerobase 이렇게 붙이면
zerobase 를 비밀번호로 인식하고,mysql -u root -p zerobase : -p zerobase 이렇게 띄우면
zerobase라는 이름의 데이터베이스로 인식한다.
그래서 이렇게 쓰면
use zerobase 처럼 zerobase 라는 데이터베이스에 바로 접속하는게 된다
mysql> source test01.sql # source 다음에 경로를 써줘야하는데 현재 경로에 파일이 # 있기 때문에 source 다음에 바로 파일 이름을 씀 > Query OK, O rows affected (0.05 sec)
mysql -u username -p <database> < </path/filename.sql>
mysql>exit > Bye
CREATE TABLE crime_status ( year YEAR, police_station varchar(8), crime_type varchar(16), status_type char(2) case_number int );
sql_ws % mysql -u root -p zerobase < test02.sql mysql -u root -p zerobase < test02.sql # vscode 터미널에서 위대로 넣음
# 특정 Database 백업 mysqldump, > % mysqldump -u username -p dbname > backup.sql # 모든 Database 백업 --all % mysqldump -u username -p --all-databases > backup.sql
# 특정 Database 백업 % mysqldump -u root -p zerobase > zerobase.sql
로컬에서 저장했던 백업 파일을 AWS 리모트 데이터베이스로 보내보자
데이터베이스를 백업한 SQL File 을 실행하여 그 시점으로 복구하거나 이전 할 수 있다.
(SQL File 을 실행하는 방법과 동일함, 즉 실행하면 자동으로 복구됨, 없는 곳에 실행하면 이전하는 것처럼 됨)
- CMD 창에서 AWS RDS 접속: mysql -h ~~
- show databases; 으로 데이터베이스 확인
- use zerobase; 처럼 특정 데이터베이스로 이동
- source zerobase.sql 처럼 위에서 만든 백업파일을 실행
- show tables; 로 확인
sql_ws % mysql -h database-1.cwzfvdhk3vok.ap-northeast-2.rds.amazonaws.com -P 3306 -u admin -p
sql_ws % mysql -u username -p dbname tablename > backup.sql
sql_ws % mysql -u root -p zerobase celeb > celeb.sql
Table 을 백업한 SQL File 을 실행하여, 해당 테이블을 복구하거나 이전할 수 있다.
sql_ws % mysql -h database-1.cwzfvdhk3vok.ap-northeast-2.rds.amazonaws.com -P 3306 -u admin -p ... mysql > drop table celeb;
mysql> source celeb.sql
# 특정 Table Schema 백업 % mysqldump -d -u username -p dbname tablename > backup.sql # 모든 Table Schema 백업 % mysqldump -d -u username -p dbname > backup.sql
sql_ws % mysqldump -d -u root -p zerobase snl_show > snl.sql
mysqldump --set-gtid-purged=OFF -h "엔드포인트" -P 3306 -u admin -p비번 zerobase > backup_zerobase.sql
backup_zerobase.sql 이 생김.
# cmd 창에서 mysql -h "엔드포인트" -P 3306 -u admin -p
create database zerodb default character set utf8mb4;
# 권한 부여하기 grant all on zerodb.* to 'zero'@'%'; # 권한 확인하기 show grants for 'zero'@'%';
# zerodb 로 이동
use zerodb;
# 테이블 확인
show tables;
# 백업파일 실행
source backup_zerobase.sql
# 테이블 확인
show tables;
(일단 exit)
위 글은 제로베이스 데이터 취업 스쿨의 강의자료를 참고하여 작성되었습니다.