개발환경

[개발환경] 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

 

[CentOS7] mysql 8버전 설치 및 설정

집서버에 기존에 설치되어있던 5.6버전을 모조리 지우고, 8버전을 설치했다. 어짜피 테스트용 DB였기 때문에 delete and install이 크게 문제되지 않았다. 이번에도 역시 mysql은 개인 개발 테스트 용도

zero-gravity.tistory.com

 

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;