AWS EC2 서버 접속
Putty나 CMD를 이용하여 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에 이름을 정해준 후,
- Hostname에 AWS 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 외부 접속 성공!
저의 주관적인 생각이 담긴 글입니다.
이 글을 보신 분들에게 도움이 되고자 글을 썼지만 부족한 부분이 많을 수 있습니다.
그 점 양해 부탁드리며, 추가했으면 하는 부분이나 잘못된 부분은 댓글로 알려주시면 감사하겠습니다!
'CS > DevOps' 카테고리의 다른 글
[Git] git status 한글 깨짐 해결하기 (0) | 2021.09.17 |
---|---|
[Git] Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. (0) | 2021.08.24 |
[Git] Logon failed, use ctrl+c to cancel basic credential prompt 해결 (0) | 2021.06.02 |
[AWS-EC2] AWS EC2 Ubuntu 18.04 Apache 설치 (0) | 2020.11.26 |
서버, 클라우드 서버, AWS란? (0) | 2020.11.26 |
댓글