[AWS] EC2서버 로컬 MySQL연결

DeMar_Beom·2023년 6월 6일
0

AWS

목록 보기
1/6

AWS EC2 MYSQL 연결

AWS EC2인바운드 규칙 설정

  • AWS EC2를 기본 설정으로 생성 시 포트가 22번만 허용되도록 설정됨
  • 인바운드 규칙에서 mysql포트인 3306포트를 지정 필요
  • ipv4, ipv6 모두 3306포트를 지정함

EC2 mysql 설치 및 트래픽 허용

sudo apt-get update 
sudo apt-get install mysql-server
sudo ufw allow out 3306/tcp
sudo ufw allow in 3306/tcp
  • EC2환경에서 mysql을 설치
  • sudo ufw allow out 3306/tcp : 외부에서 내부로의 Mysql 트래픽을 허용(즉, 내부 mysql서버에서 외부로의 연결을 허용)
    - allow 명령어는 특정 포트 및 프로토콜에 대한 트래픽을 허용하는 규칙 추가(mysql서버가 사용하는 포트번호인 3306/tcp를 허용)
  • sudo ufw allow in 3306/tcp : 내부에서 외부로의 mysql트래픽을 허용, 즉 외부에서 내부 mysql서버로의 연결을 허용
  • 두 개의 명령어를 실행하면 'ufw'방화벽 설정에 mysql서버에 대한 통신을 허용하는 규칙이 추가됨

mysql ip주소 설정

cd /etc/mysql/mysql.conf.d
vim mysqld.cnf
  • 여기서 bind-address가 127.0.0.1로 설정되어 있는데 이를 0.0.0.0으로 변경 후 저장

mysql 권한 부여

#mysql접속 후 test2계정 생성 및 권한 부여 
mysql -u root -p 
create user 'test2'@'%' identified by '123';
grant all privileges on *.* to "test2"@"%";
flush privileges;
  • test2라는 사용자에게 모든 데이터베이스, 모든 테이블에 대한 모든 권한을 부여
  • '%'는 모든 호스트를 지칭하며, 이 사용자는 어떤 호스트에서든 접근이 가능

mysql종료 후 재시작

sudo systemctl restart mysql

mysql 연결

  • Hostname에는 원격연결한 주소 연결
  • port 3306
  • username에는 아까 만들었던 user명과 password - store in valut를 클릭하여 비밀번호 입력

  • 이렇게 나오면 정상적으로 연결되었고 이 후 서버와 연동되어 DB작업이 가능해집니다.

0개의 댓글