어제 cmd에서 mysql 디비 접속이 안되는 문제가 있어서 work bench에서 작업했는데, window에서 접근하려면 환경변수를 편집해야했다.
mysql -u root -pzerobase <-비밀번호
mysql -u root -p zerobase <-db
내pc->속성 ->고급시스템설정-> 환경변수 ->시스템 path에
mysql 경로 지정
잘등록되었다면 cmd에서 접속이 되는걸 확인할 수 있다 !
#2. vs code 터미널에서 mysql 연결
작업영역>termial.intergrated.Profiles:windows 찾기
Edit in settings.json 클릭
git bash, mysql 집어넣기
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash"
},
"MYSQL":{
"path":[
"C:\\Program Files\\MySQL\\MySQL Server 8.0\bin\\mysql.exe"
],
"args":["-u","root","-p"]
}ㄴ
안돼서 그냥 cmd에서 돋ㄹ렸다..
-> !?!?!??!!?? vscode 껏다 켜니까 된다 ,, ! 성공
특정 경로에서 바로 디비 접속해서 파일 실행시키기
C:\Documents\sql_ws>mysql -u root -p zerobase <test02.sql
Enter password: **********
#2.database backup
-zerobase에 있는 모든 테이블 백업 파일 만들기
###전체 백업
C:\Documents\sql_ws>mysqldump -u root -p zerobase >zerobase.sql
Enter password: **********
##테이블 단위 백업
C:\Documents\sql_ws>mysqldump -u root -p zerobase tablename>zerobase_table.sql
##데이터 제외 테이블 특정생성 쿼리만 백업
C:\Documents\sql_ws>mysqldump -d -u root -p zerobase tablename >zerobase_table_query.sql
##데이터 제외 모든테이블 생성 쿼리만 백업
C:\Documents\sql_ws>mysqldump -d -u root -p zerobase >zerobase_query.sql
-rds에 백업파일 restore 할거라 rds 접속
C:\Documents\sql_ws>mysql -h "database-1.엔드포인트.rds.amazonaws.com" -P 3306 -u admin -p
Enter password: **********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
mysql> use zerobase;
Database changed
mysql> source zerobase.sql
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 10 rows affected (0.01 sec)
Records: 10 Duplicates: 0 Warnings: 0
#문제1
AWS RDS (database-1) 의 zerobase 데이터베이스를 백업하세요.
• 주의> AWS RDS database 를 백업할 경우 다음의 옵션을 추가합니다.
C:\Documents\sql_ws>mysqldump --set-gtid-purged=OFF -h "database-1.엔드포인트.rds.amazonaws.com" -P 3306 -u admin -pSuervis0r zerobase > backup_zerobase.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysqldump: Got error: 1045: Access denied for user 'admin'@'211.236.147.35' (using password: YES) when trying to connect
##비밀번호 오류나서 이렇게함
C:\Documents\sql_ws>mysqldump --set-gtid-purged=OFF -h "database-1.엔드포인트.ap-northeast-2.rds.amazonaws.com" -P 3306 -u admin -p zerobase > backup_zerobase.sql
Enter password: **********
#문제2
AWS RDS (database-1) 에 admin 계정으로 로그인하세요
C:\Documents\sql_ws>mysql -h "database-1..rds.amazonaws.com" -P 3306 -u admin -p
Enter password: **********
#문제3
Database (zerodb) 를 생성하세요.
(DEFAULT CHRACTER SET utf8mb4)
mysql> create database zerodb default character set utf8mb4;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| zerobase |
| zerodb |
+--------------------+
#문제4
앞서 생성한 사용자 (zero@%) 에게 zerodb 의 모든 권한을 부여하세요.
mysql> grant all on zerodb.* to 'zero'@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> show grants for 'zero'@'%';
+--------------------------------------------------+
| Grants for zero@% |
+--------------------------------------------------+
| GRANT USAGE ON *.* TO `zero`@`%` |
| GRANT ALL PRIVILEGES ON `zerodb`.* TO `zero`@`%` |
+--------------------------------------------------+
2 rows in set (0.01 sec)
#문제5
앞서 백업한 zerobase 백업 파일을 zerodb 에서 실행하세요
mysql> use zerodb;
Database changed
mysql> show tables;
Empty set (0.01 sec)
mysql> source backup_zerobase.sql
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.01 sec)
mysql> show tables;
+------------------+
| Tables_in_zerodb |
+------------------+
| celeb |
| crime_status |
| police_station |
| snl_show |
| test |
| test1 |
| test2 |
+------------------+
#문제6
police_station 테이블에 아래 데이터를 INSERT 하기 위한 SQL 파일을 생성하세요
insert.sql
insert into police_station VALUES ('서울특별시경찰청','서울시 종로구 사직로8길 31');
insert into police_station VALUES ('서울중부경찰서','서울특별시 중구 수표로 27');
insert into police_station VALUES ('서울종로경찰서','서울시 종로구 울곡로 46');
insert into police_station VALUES ('서울남대문경찰서','서울특별시 중구 한강대ㅗ 410');
#문제7
SQL 파일을 실행하여
AWS RDS (database-1) zerobase 의 police_station 테이블에 데이터를 INSERT 하고 확인하세요.
mysql> use zerobase;
Database changed
mysql> source insert.sql
Query OK, 1 row affected, 3 warnings (0.01 sec)
Query OK, 1 row affected, 4 warnings (0.01 sec)
Query OK, 1 row affected, 4 warnings (0.01 sec)
Query OK, 1 row affected, 4 warnings (0.01 sec)
mysql>
#문제8
AWS RDS (database-1) zerobase 의 police_station 테이블을 SQL 파일로 백업하세요
C:\Documents\sql_ws>mysqldump --set-gtid-purged=OFF -h "database-1.c7kgisgcqpwc.ap-northeast-2.rds.amazonaws.com" -P 3306 -u admin -p zerobase police_station > backup_police.sql
Enter password: **********
#문제9
SQL 파일을 실행하여
AWS RDS (database-1) zerodb 의 police_station 테이블을 zerobase 와 동일하게 만들고 확인하세요.
backup한 파일이 insert하니 깨짐. 확인해보니까 backup파일을 생성할때부터 한글이 깨져나오는거 같다 .
chcp65001 로 cmd 변경하고 해도 동일하게 깨지는 현상이 발생해서
backup파일 자체를 euckr로 추출했다.
그럼에도 불구하고 깨짐,,
##--default-character-set=euckr로 출력하기
C:\Documents\sql_ws>mysqldump --default-character-set=euckr --set-gtid-purged=OFF -h "database-1.엔드포인트.rds.amazonaws.com" -P 3306 -u admin -p zerobase police_station > backup_police_euckr.sql
Enter password: **********
▲ 그냥 backup파일 추출 , source 로 restore했을때
▲ euckr backup파일 추출 , source 로 restore했을때
흠... 시간나면 더 찾아봐야겟다