개발환경
[개발환경] AWS SQL 세팅 (PuTTY)
mylee99
2022. 8. 17. 22:46
AWS EC2 : 아마존 웹 서비스(AWS)에서 제공하는 클라우드 서비스
PuTTY : 서버에 원격으로 접속하여 제어하는 프로그램
PuTTY 툴로 SSH 접속 방법
→ PuTTY 열어서 IP 접속 정보 입력 (Saved Sessions 하면 다음부턴 입력 안 해도 됨)
→ 들어가지면 id, password 입력
PuTTY 툴에서 MySQL 설치하기
→ https://zero-gravity.tistory.com/338
PuTTY 툴에서 MySQL DB 한글 깨짐(인코딩) 해결 방법
* HeidiSQL에서 DB 접속 후 아래 쿼리문을 실행하면, 해당 DB의 charset을 볼 수 있음.
SHOW VARIABLES LIKE 'character%';
-- Value에 utf8이 아닌 다른 값이 있으면 한글이 깨짐.
* vi 명령어
- a를 누르면 수정 시작
- esc를 누르면 수정 종료
- :!q를 입력하면 저장하지 않고 나가기, :!wq를 입력하면 저장하고 나가기
vi /etc/my.cnf
//.swp 파일이 생성되었는데 어떡할까?라는 경고창이 뜨면 그냥 삭제
charracter-set-server = utf8
수정한 후엔 mysql stop → status → start → status 로 변경사항 잘 적용되었는지 확인 (ex. /usr/bin/systemctl stop mysqld)
PuTTY 툴에서 MySQL 제어 방법
//접속하기
mysql -u root -p
//mysql database 선택
> use mysql;
//현재 생성된 사용자 계정 확인
mysql> select host, user, password from user;
//ID, PW와 함께 사용자 생성
//(ID)@localhost 부분을 '(ID)'@'%'로 하면 외부에서의 접근을 허용
mysql> create user (ID)@localhost identified by '(PW)';
//DB 생성
mysql> create database (DB명);
//DB 목록 확인
mysql> show databases;
//ID에게 DB의 모든 테이블에 대한 모든 권한을 허용
mysql> grant all privileges on (DB명).* to (ID)@localhost;
//변경한 내용 메모리에 반영(권한 적용)
mysql> flush privileges;
HeidiSQL에서 접속하기
→ 호스트명/IP : PuTTY에서 접속한 IP 접속정보
→ 사용자, 암호 : 방금 생성한 정보
(그래도 안될 땐)
- AWS에서 서버가 잘 돌아가고 있는지 확인하기!
- AWS에서 인바운드 규칙 추가해주기 (포트범위-3306, 프로토콜-TCP, 유형-MYSQL/Aurora)
*HeidiSQL에서 세션 2개 연결 : [파일] > 연결 > 연결할 세션 선택 위처럼 DB 세팅 마쳤을 땐 로컬에서 작업하던 DB를 Dump 따서 가져오기
→ 로컬 DB 우클릭 > 데이터를 SQL로 내보내기
(테이블 생성에 체크, INSERT IGNORE 선택하고 > 내보내기)
→ 실 DB에 Dump 딴 SQL 실행하기
Dump 딴 테이블 PuTTY에서 확인하기
//사용할 DB
mysql> use (DB명);
//해당 DB의 모든 테이블을 조회
mysql> show tables;