SQL 쿼리를 모아놓은 파일
cd documents
\documents> mkdir sql_ws
Directory: \documents
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023-04-30 오후 8:48 sql_ws
\documents> cd sql_ws
\documents\sql_ws> code .
ㄴ sql_ws 폴더 하위에서 VScode를 실행
create Table police_station
(
name VARCHAR(16),
address VARCHAR(128)
);
ㄴ test01.sql 파일 생성후 경찰서 정보 테이블 생성
\documents\sql_ws> mysql -u root -p zerobase
Enter password: *************
ㄴsql_ws 폴더 위치로 이동하여 zerobase에 접속
mysql> source test01.sql;
ㄴSQL 파일 실행
mysql> desc police_station;
+---------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| name | varchar(16) | YES | | NULL | |
| address | varchar(128) | YES | | NULL | |
+---------+--------------+------+-----+---------+-------+
ㄴ결과 확인
sql_ws> mysql -u root -p zerobase < test02.sql
ㄴzerobase 데이터베이스에 접속하면서 SQL파일 실행
mysql이 아닌 워크스페이스에서 실행
>mysqldump -u username -p dbname >backup.sql
ㄴ 특정 데이터 베이스 백업
sql_ws> mysqldump -u username -p dbname -r backup.sql
ㄴ 위의 방법이 에러날 시 위 코드로 백업.
mysqldump -u username -p --all-databases >backup.sql
ㄴ 모든 데이터베이스 백업
\Documents\sql_ws> mysqldump -u root -p zerobase >zerobase.sql
Enter password: *************
⇊
데이터베이스를 백업한 SQL 파일을 실행하여 그 시점으로 복구하거나 이전가능(SQL 파일을 실행하는 방법과 동일)
\Documents\sql_ws> mysql -h "database-1~~.amazonaws.com" -P 3306 -u d~~~e -p
ㄴAWS RDS(database-1) 서비스가 사용가능한 상태에서 접속
mysql> source zerobase.sql
ㄴAWS RDS(database-1)의 zerobase 데이터 베이스 복원
⇊
mysql> show tables;
+--------------------+
| Tables_in_zerobase |
+--------------------+
| celeb |
| crime_status |
| oil_price |
| person |
| police_station |
| snl_show |
| test1 |
| test2 |
+--------------------+
mysql> source zerobase.sql;
실행시
ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: 'ÿþ-'.
에러 발생.
- 해당 에러는 한글이 깨져서 발생한다고 하여 백업할때
sql_ws> mysqldump -u root -p zerobase --default-character-set utf8 > zerobase.sql
로도 백업해서 다시 실행해 보았지만 여젼히 에러 발생.
그래서sql_ws> mysqldump -u root -p zerobase -r zerobase.sql
로 백업하여
mysql> source zerobase.sql
로 실행하니 정상작동-r file_name (--result-file=file_name): 데이터베이스를 백업할 때, 백업 결과를 지정한 이름의 파일로 직접 출력.덤프를 생성하는 동안 오류가 발생하더라도 결과 파일이 생성되고 이전 내용을 덮어씌움
\sql_ws> mysqldump -u username -p dbname tablename > backup.sql
ㄴ Table 단위로 백업가능
\sql_ws> mysqldump -u root -p zerobase celeb > celeb.sql
ㄴ 로컬 데이터 베이스에서 celeb 테이블 백업
Table을 백업한 SQL 파일을 실행. 해당 테이블을 복구하거나 이전 가능(SQL 파일을 실행하는 방법과 동일)
sql_ws> mysql -h "database-1~~~~~amazonaws.com" -P 3306 -u d~~~ -p zerobase
...
mysql> drop table celeb;
ㄴ AWS RDS(database-1)의 zerobase에서 celeb 테이블 삭제
mysql> source celeb.sql
ㄴ AWS RDS(database-1)의 zerobase에서 celeb 테이블을 복구
\sql_ws> mysqldump -d -u username -p dbname tablename > backup.sql
ㄴ 특정 Table Schema Backup
\sql_ws> mysqldump -d -u username -p dbname > backup.sql
ㄴ 모든 Table schema Backup
sql_ws> mysqldump -d -u root -p zerobase snl_show > snl.sql
ㄴ Local 데이터베이스에서 snl_show Table Schema 백업
⇊
ㄴVSCode에서 snl.sql 확인(데이터는 포함X)