본문 바로가기
CS/DevOps

[AWS-EC2] AWS EC2 Ubuntu 18.04 MySQL 설치

by zlzzlzz2l 2020. 11. 26.
반응형

AWS EC2 서버 접속

PuttyCMD를 이용하여 AWS EC2 서버에 접속한다.

MySQL 설치

MySQL을 설치하기 전 업데이트

sudo apt update

위 명령어는 현재 AWS EC2 서버에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트해준다.

MySQL 서버 설치

sudo apt install mysql-server

위 명렁어로 mysql을 설치할 수 있다.
AWS EC2 서버에서 사용 가능한 버전으로 알아서 설치된다.

만약 원하는 버전이 있다면

sudo apt install mysql-server-x.x (x.x 버전명)

뒤에 버전명을 입력해주면 된다.

MySQL 접속

sudo mysql [-h 호스트명] -u계정명 -p[패스워드] [사용할 DB]
  • [ ]는 옵션이기 때문에 생략 가능하다.
  • MySQL이 설치된 PC에서 직접 접속할 경우에는 호스트명이 생략 가능하다.
  • 패스워드를 생략할 경우에는 비밀번호를 입력할 수 있는 쉘이 출력된다.
  • DB를 생략할 경우 use를 이용해 DB를 지정할 수 있다.
sudo mysql -u root -p

위 명령어를 입력하면 MySQL에 접속할 수 있다.
또한, 패스워드를 생략했기 때문에 다음 쉘에 비밀번호를 입력할 수 있는 쉘이 출력된다.

초기에 root 비밀번호를 설정하지 않았기 때문에 Enter Password에 원하는 비밀번호를 입력하면 root 비밀번호가 설정된다.

비밀번호를 설정해주면, MySQL에 접속된 것을 확인할 수 있다.

MySQL 사용자 생성 및 권한 설정

MySQL에 접속할 때, DB 이름을 입력하지 않았기 때문에 use 명령어를 이용하여 DB를 선택해야 한다.

use DB이름;

위 명령어를 입력하면 해당 DB를 사용할 수 있다.

일단 아직 DB를 만들지 않아서,

use mysql;

기본 DB인 mysql에 접속한다.

root 계정 이외의 사용자를 만들어준다.

CREATE USER '사용자 이름'@'%' IDENTIFIED BY '비밀번호';

CREATE 명령어를 이용하여
사용자 이름에 원하는 사용자 이름을, 비밀번호엔 해당 비밀번호를 적어주면 된다.

GRANT ALL PRIVILEGES ON *.* TO '사용자 이름'@'%';

또한, 방금 만든 사용자를 외부 접속이 가능하도록 권한을 설정해준다.

이 변경 사항을 적용하기 위해서

FLUSH PRIVILEGES;

위 명령어를 입력하면 사용자 생성과 권한이 적용된다.

위 과정까지 다 했다면

exit;

을 입력하여 MySQL을 나오면 된다.

외부 접속을 위한 MySQL 설정 파일 수정

DB를 외부에서 접속하기 위해 MySQL 설정 파일을 수정해야 한다.

cd /etc/mysql/mysql.conf.d

리눅스 명령어 중 다른 디렉토리로 이동하기 위한 cd를 이용하여 mysql.conf.d 디렉토리까지 이동한다.

sudo vi mysqld.cnf

리눅스 명령어 중 vi 편집기를 이용하여 mysqld.cnf의 내용을 수정한다.

mysqld.cnf에서 bind-address = 127.0.0.1 부분


bind-address = 0.0.0.0 으로 수정한다.
([Insert] 키를 누르면 내용을 수정할 수 있다.)

수정하고 [ESC] 누른 후 :wq!를 입력하면 해당 내용이 저장된다.

sudo service mysql restart

수정했으니, MySQL을 다시 시작한다.

외부 접속을 위한 인바운드 규칙 편집

AWS EC2 사이드 메뉴에서 [네트워크 및 보안] - [보안 그룹]에 들어간다.

[보안 그룹 ID]를 클릭한 후
[인바운드 규칙 편집] 버튼을 누른다.

위와 같은 화면이 나온다면 알맞게 들어간 것이다.

MySQL을 외부 접속 가능하게 하기 위해 [규칙 추가] 버튼을 누른다.

위 사진과 같이 설정해주면 외부 접속을 할 수 있다.

MySQL 외부 접속 확인하기

MySQL 관리 도구인 PhpmyAdmin이나 Workbench 이용하여 확인해보자.

(저는 MySQL Workbench를 이용했어요 :))

MySQL Workbench에 접속해준다.

MySQL Connections 옆에 + 버튼을 눌러준다.

  • Connection Name에 이름을 정해준 후,
  • HostnameAWS EC2 퍼블릭 IP 주소를 입력해준다.
  • 그리고 Username에는 생성한 사용자의 이름을 넣어준다.
  • Password에서 Store in Vault ... 을 클릭한 후, 사용자 생성 때 입력한 비밀번호를 입력한다.

위 4가지를 다 입력한 후,
Test Connection 버튼을 누르면!

Test상으로 연결이 되는 걸 확인할 수 있다.
[OK]버튼을 하여 연결해준다.

(저는 Connection Name을 cctv로 설정했어요!)

Connection name이 cctv인 block을 클릭하면 해당 MySQL로 접속할 수 있다.

연결이 잘 되었는지 확인하기 위해서

show databases;

데이터베이스 목록을 볼 수 있는 위 명령어를 입력한다.

show databases;를 입력하고 번개 모양 버튼을 눌러주면 Database 목록을 볼 수 있게 된다.

MySQL 외부 접속 성공!


저의 주관적인 생각이 담긴 글입니다.

이 글을 보신 분들에게 도움이 되고자 글을 썼지만 부족한 부분이 많을 수 있습니다.

그 점 양해 부탁드리며, 추가했으면 하는 부분이나 잘못된 부분은 댓글로 알려주시면 감사하겠습니다!

 

 

서버, 클라우드 서버, AWS란?

프로젝트를 시작한지 몇 개월이 지났다. 프로젝트에서 내가 맡은 파트는 서버 구축 및 DB 연동이었다. 나중에 혹여나 내 자신이 다시 찾아볼 거 같기도 하고, 서버 구축을 해야 하는 모든 이들에

zlzzlzz2l.tistory.com

 

 

[AWS-EC2] AWS EC2 Ubuntu 18.04 Apache 설치

AWS EC2 서버 접속 Putty나 CMD를 이용하여 AWS EC2 서버에 접속한다. Apache 웹 서버 설치 sudo apt-get install apache2 위 명령어는 apache2가 설치되도록 한다. 여기서 apt-get은 우분투(Ubuntu)를 포함한 데미안계열

zlzzlzz2l.tistory.com

 

반응형

댓글