이전 포스팅에서 EC2 인스턴스를 생성하는 과정을 진행했는데, 이번에는 여기 MySQL 을 설치하고 원격으로 접속까지 해보자.
1. yum 레포지토리에 MySQL 추가
명령어) sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
설치에 앞서 MySQl 8.0 을 설치할 수 있는 yum 레포지토리를 추가한다.
2. yum 레포지토리 확인
명령어) sudo yum list | grep mysql
yum list 를 확인해보면 mysql 관련 패키지가 설치된 것을 확인할 수 있다.
가. MySQL 서버: mysql-community-server
나. MySQL 클라이언트: mysql-community-client
다. 클라이언트 및 서버에 대한 일반적인 오류 메시지 및 문자 집합: mysql-community-common
라. 공유 클라이언트 라이브러리: mysql-community-libs
3. MySQl 설치
명령어) sudo yum -y install mysql-community-server
4. 설치가 끝났다면 MySQL 상태 확인
명령어) sudo systemctl status mysqld (사실 status 명령어는 sudo 없어도 된다)
5. MySQL 초기 비밀번호 확인 후 접속 -> 비밀번호 변경하기
명령어) sudo cat /var/log/mysqld.log
7. systemctl 명령어로 MySQL 조작하기
왜 인지는 모르겠지만 상태 확인 명령어를 제외한 명령어들은 sudo 로 하지 않으면 오류가 난다.. 🧐
따라서 중지, 시작, 재시작은 sudo 를 꼭 붙여주자.
가. 상태 systemctl status mysqld.service
나. 중지 sudo systemctl stop mysqld.service
다. 시작 sudo systemctl start mysqld.service
라. 재시작 sudo systemctl restart mysqld.service
8. 로컬의 Workbench 에서 서버 MySQL 연동 시키기
원격으로 서버의 MySQL 에 접근하기 위해선 AWS EC2 인스턴스의 보안 인바운드 규칙을 먼저 설정해줘야 한다 !
3306 포트가 열려있지 않으면, 접속 자체가 안되기 때문 😅
참고) https://onecutwook.tistory.com/21
먼저 서버에서 MySQL 을 접속하고 mysql database 를 사용하도록 설정한다.
맨 아래에 user 라는 table 이 있는데 이 table 을 사용해서 서버에 접속할 user 를 추가해줘야 한다.
가. 서버 DB에 내 공인 IP 추가한 아이디 만들기
명령어) user(mysql db 에 있는 테이블, 내가 만든거 아님) '유저명'@'본인 공인 IP' IDENTIFIED BY '비밀번호';
정확하진 않지만 아마 비밀번호에 대, 소문자, 특수문자 전부 들어가야하는걸로 알고있다. (MySQl 8.0 이상에서는 ?)
혹시 모르니 전부 넣어서 비밀번호를 설정해주자.
나. 내 IP 접근 권한 허용
명령어) grant all privileges on *.* to '유저명'@'본인 IP';
다. 변경사항 적용
명령어) flush privileges;
라. Workbench 에서 접속
Connection Name : 아무 이름
Hostname : AWS EC2 인스턴스 IP 주소
Username : 위에서 생성한 user 아이디
Password : 위에서 생성한 user 아이디의 비밀번호
번외)
user - root / host - %
user - test2 / host - 182.214.162.25
이 두 유저만 AWS EC2 서버 (13.209.41.236) 에 접속이 가능하다.
EC2 인바운드 규칙 MYSQL 허용 IP를 182.214.162.25 설정했고, % 은 모든 IP 허용, 182.214.162.25 는 현재 내 공인 IP 이기 때문.
EC2 인바운드 규칙 현재 IP 로 수정, % root 사용할거 아니면 해당 공인 IP를 가진 유저 새로 생성, 그걸로 DB 서버 접속하면 된다.
'AWS' 카테고리의 다른 글
AWS Linux 와 Nginx 를 활용해 React 배포하기 (0) | 2022.04.27 |
---|---|
[AWS] M1 Mac EC2 인스턴스에 Spring Boot 프로젝트 배포하기 (0) | 2022.04.17 |
[AWS] M1 Mac EC2 인스턴스 생성 및 실행까지 (0) | 2022.04.08 |