- Amazon Relational Database Service는 AWS에서 제공하는 관계형 데이터베이스 서비스 <사용방법> ```
CREATE DATABASE zerobase DEFAULT CHARACTER SET utf8mb4 #이모지 사용가능
SHOW DATABASES;
``` (3) 사용자 (zero) 추가하고 확인 (사용자 추가) CREATE USER 'zero'@'%' IDENTIFIED BY 'zerobase';
# 사용자 삭제를 하고 싶으면
# DROP USER 'zero'@'%';
USE (사용하고자 하는 database);
SELECT host, user FROM user;
```
-
(4) 사용자 (zero)에게 외부에서 접근해 zerobase 데이터 베이스 사용할 수 있는 권한 부여하고 접근 GRANT ALL ON zerobase.* TO 'zero'@'%'; REVOKE ALL ON zerobase.* FROM 'zero'@'%'; ``` (5) 현재 접속 종료하고 AWS RDS를 통해 zerobase Database에 접근하고자 하는 경우 exit
mysql - h <엔드포인트> -P<포트> -u zero -pzerobase
``` (1) SQL 파일 생성
Visual Studio 의 sql_ws폴더에서 새 파일 만듦 (test01.sql)
그 안에 police_station 만듬
```
CREATE TABLE police_station
(
name VARCHAR(16),
address VARCHAR(128)
);
```
(2) SQL 파일 실행
- MySQL내서 실행
- MySQL에 로그인 상태에서 SQL 파일 실행
- source : SQL 파일 실행하는 명령어 대신 . 사용 가능
```
mysql> source /path/file_name.sql
또는
mysql> \. /path/file_name.sql
```
- SQL 파일이 있는 현재 폴더에서 로그인 했다면 path는 생략
```
# sql file이 있는 현재 폴더에서 MySQL에 로그인함과 동시에 DB에 바로 접근
C:\Documents\sql_ws % mysql -uroot -p* db_name
mysql> source file_name.sql
```
- MySQL밖에서 실행
- MySQL에 로그인 하지 않은 상태로 외부에서 SQL파일을 바로 실행
```
DB_name < /path/file_name.sql에서 <은 파일을 DB로 갸져오도록 함
>mysql -u user_name -p password DB_name < /path/file_name.sql
```
데이터베이스나 데이터베이스 내 테이블을 SQL파일로 만들어 사용가능
(1) 백업파일 생성
- mysqldump 명령어 : 명령으를 사용하는 현재 폴더에 백업파일 생성
```
DB_name > backup_file.sql에서 >은 데이터베이스의 데이터를 파일로 내보냄
# 특정 DB의 백업 파일 생성
mysqldump -u user_name -p DB_name > backup_file.sql
# 모든 DB의 백업 파일 생성mysqldump -u user_name -p --all-databases > backup_file.sql
```
DB 백업한 SQL 파일 활용해 다른 DB로 이전 가능
로컬 아닌 외부 데이터베이스인 AWS RDS로 이전 가능
```
mysql -h(host) <엔드포인트> -P(Port) <포트> -u <마스터> -p<password>
```
zerobase DB 백업 파일을 AWS RDS (database-1)로 이전 후 접속
```
C:\Documents\sql_ws>mysql -h database-1.us-east-2.rds.amazonaws.com
-P 3306 -u admin -p
mysql> CREATE DATABASE zerobase DEFAULT CHARACTER SET utf8mb4;
mysql> USE zerobase;
mysql> source backup_DB_zerobase.sql
```
Table을 SQL 파일로 만들 때도 mysqldump 명령어 사용 (백업파일 만들고자하는 폴더에서 명령어 실행)
>mysqldump -u user_name -p DB_name Table_name > backup_file.sql
- 테이블 내 데이터를 제외하고 테이블 생성 쿼리만 백업
- 특정 테이블 schema Backup
```
mysqldump -d -u user_name -p db_name table_name > backup_file.sql
```
- DB내 모든 테이블 schema Backup
```
mysqldump -d -u user_name -p db_name > backup_file.sql
```
### 7. 복구 / 이전
- Table을 백업한 SQL 파일을 실행하여 백업한 그 시점으로 복구
- Table을 백업한 SQL 파일을 활용해 다른 DB로 Table을 이전 가능
mysql> DROP TABLE celeb;
mysql> . backup_TB_celeb.sql
```