AWS EC2 mysql 서버 연결

winkite·2024년 6월 10일

정리

목록 보기
1/7

aws 프리티어를 사용하게 돼서 공부차원으로 적어보려고 한다.

1. 인스턴스 생성

우선 EC2 > 인스턴스 > 인스턴스 시작 버튼을 눌러 인스턴스 생성페이지로 이동한다.
그럼 os 및 메모리 등 알맞게 설정하고
중요한 부분은 키 페어 생성하여 등록하고 네트워크 설정에 ssh 트래픽 허용을 체크해준 뒤 생성하면 된다.


2. ssh 접속

인스턴스 생성이 완료되었다면
터미널에 ssh -i ***.pem [username]@[ip주소]를 입력하여 접속한다.

> ssh -i C:\Users\***\key.pem ubuntu@xxx.xxx.xxx.xxx

3. mysql 설치

접속 후 apt 먼저 업데이트 해준다.

> sudo apt update

그 다음 mysql-server를 다운로드 한다.

> sudo apt install mysql-server

설치가 완료되었다면 mysql 서버에 접속한다.

> sudo mysql -u root

root 비밀번호가 설정되어 있지 않으니 먼저 설정해주자.

mysql> ALTER user 'root'@'localhost' IDENTIFIED BY '[비밀번호]';

그리고 새로운 계정을 생성해주자

mysql> CREATE USER '[계정이름]'@'%' IDENTIFIED BY '[비밀번호]';

[참고]

'localhost' : 내부 접속 허용
'%' : 외부 접속 허용
'xxx.xxx.xxx.xxx'(ip 주소) : 특정 ip주소 허용
ip주소와 %를 혼용하여 사용할 수 있다.
ex 192.168.% -> 192.168로 시작하는 모든 ip주소 허용

DB 생성하고 위에서 만든 계정에 DB권한을 준다.

mysql> CREATE DATABASE [DB 이름];
mysql> GRANT ALL PRIVILEGES ON [DB 이름].* TO '[계정이름]'@'%';

위에서 변경한 설정을 적용한다

mysql> FLUSH PREVILEGES;

마지막으로 방화벽 해제하면 끝

> sudo ufw allow mysql

부록. EC2 인스턴스 사용자 추가

adduser vs useradd
맨날 헷갈림

useradd : 홈 디렉토리를 자동으로 생성안함
adduser : 홈 디렉토리 자동으로 생성함

아무튼 adduser로 계정을 생성한다.

> adduser newuser

새로 생성한 계정에 root 권한을 부여한다.

sudo visudo
root ALL=(ALL:ALL) ALL 아래에
newuser ALL=(ALL) ALL 추가

같은 key pair로 로그인 할 수 있도록 ubuntu의 .ssh 디렉토리를 newuser 계정으로 복사시키기

sudo cp -r /home/ubuntu/.ssh/ /home/hwkim/.ssh/

복사한 key pair 소유자를 newuser로 변경 (-R:하위 폴더까지 모두 소유권을 바꿔줌)

sudo chown -R newuser:newuser /home/newuser/.ssh

마지막으로 재시작하면 끝

sudo service ssh restart

***.pem 방식으로 로그인 하기싫어서 sshd_config 파일의
PasswordAuthentication yes로 바꾸고 재시작도 몇번 했는데 왜 안되는지 모르겠다.

[참고]
https://jongmin92.github.io/2016/09/20/Linux%20&%20Ubuntu/add_user/#google_vignette

profile
열심히 뛰는 개발자🏃

0개의 댓글