[SSAFYcial] 서버 DB와 로컬 워크벤치 연결하기

이승환·2023년 7월 26일
0

SSAFYcial

목록 보기
4/6

SSAFY 프로젝트에서는 AWS EC2 서버가 제공됩니다.
제공되는 서버를 통해 서비스를 배포하게되는데요, 중요한 것은 서버에는 DB도 있다는 사실입니다.

오늘은 서버에 DB를 설치하고 로컬 워크벤치에 연결하는 과정을 소개해드리겠습니다.

1. 서버 설정

1. 서버 접속

우선 서버에 접속해봅시다!

가장 먼저 해야 할 것은 SSH를 설치입니다.

SSH란?
Secure Shell의 줄임말로, 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜입니다.

  • 윈도우에서 SSH 설치
    1. 윈도우 설정 -> 앱 설정 -> 선택적 기능


    2. 기능추가를 누르고 SSH검색 후 설치!

자 이제 설치가 끝났으면 이제 서버에 접속할 시간입니다. cmd창을 열고 다음과 같은 명령어를 입력하여 접속합니다.
ssh -i pem파일위치 이름@ip

pem 파일이 만약 C드라이브의 사용자 폴더 안에 있다면

ssh -i C:\user\mykey.pem server@ip

다음과 같은 형식이 될 것입니다.

2. DB 생성

서버에 접속 후 DB를 생성해야합니다.
DB생성은 다음과 같은 절차를 따르면 됩니다.

1. `sudo apt update` : 패키지 관리 도구 최신화
2. `sudo apt-get install -y mariadb-server` : 마리아db 설치
3. `sudo mysql` : 설치 확인

DB에 접속하였다면 설치가 성공적으로 완료다는 의미입니다.

3. password 설정

DB 보안을 위해 password를 설정해야합니다.
우선 root 계정의 비밀번호를 설정하는 방법입니다.

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NEW_PASSWORD');
FLUSH PRIVILEGES;

다음과 같이 실행하면 root 계정에 비밀번호가 설정됩니다.
이후 db에 로그인할때는

mysql -u root -p

명령어로 접근 후 패스워드를 입력하면 됩니다.

4. ip 접근 허용

서버 접속, DB 생성, password 설정까지 끝났으면 이제는 DB가 외부 IP 접근을 허용할 수 있게 해주어야합니다.

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

위 명령어를 입력하면 편집기에 들어갈 수 있습니다.
그중 bind-address 라는 항목이 있는데, 보통 127.0.0.1 로 되어있을 것입니다. 이는 로컬호스트로만 접속을 허용한다는 의미인데, 모든 IP에서 접속을 허용한다는 의미로 0.0.0.0 으로 변경해주어야 합니다.

<vim 편집기 꿀팁>
a를 눌러서 insert 상태가 되어야 작성 가능!
작성이 끝나면 꼭 :wq! 로 저장 후 종료할 것!

만약 다시 편집기에 들어갔을 때,

E325: ATTENTION

에러가 발생하게 된다면, 편집 후 저장 및 종료가 정상적으로 이루어지지 않아서 swp 파일이 생성되었기 때문입니다.
이는 sudo rm -rf 파일명.swp 로 파일을 삭제해주면 해결됩니다.

5. 권한 부여

마지막으로 DB의 새로운 유저에 권한을 부여해주면 서버 설정이 끝납니다.

grant all privileges on . to 'name'@'%' identified by 'password';

name 에는 사용하고 싶은 사용자이름을, password 에는 사용하고자 하는 비밀번호를 입력합니다.

이 설정이 완료되면 모든 ip에서 name/password 를 이용한 DB 접근이 가능해집니다.

2. 워크벤치로 연결

워크벤치를 실행하였을때, MySQL Connections 옆에 + 버튼을 눌러서 새로운 DB를 연결합니다.

다음으로 알맞은 입력값을 넣은 후 OK를 하면 연결이 끝나게됩니다.

standard tcp/ip over ssh로 연결
ssh host name → ec2 도메인 (@뒤에있는 주소)
ssh user name → 이름 (@앞에 이름)
ssh key file → pem 파일
mysql hostname → cmd로 ssh접속했을 때 나오는 ip
포트는 3306
username → 3에서 설정한 이름, 비밀번호

DB 연결이 완료되면 이제 서버에 있는 DB를 워크벤치로 다룰 수 있게 됩니다.
하지만 콘솔로 DB를 조작하는 방법을 익힌다면 그것또한 실력 향상에 많은 도움을 줄 것입니다.
워크벤치에 의존하기보다는 콘솔로도 DB를 조작할 수 있도록 공부해보는 것도 좋을 것 같습니다!

profile
인천 라이노스 no.56

0개의 댓글