원격 서버의 php, MySQL(workbench)을 외부에서 접속하기 (에러해결 포함)

Benjamin·2022년 8월 28일
0

Server

목록 보기
3/5

php 외부에서 접속하기

웹 브라우저에 'http://[ip]/index.php'를 입력해보면, php 기본페이지가 잘 뜨는것을 볼 수 있다!

이렇게 접속한것 자체가, aws에서 빌린 EC2서버에 나의 로컬 컴 웹 브라우저에서 접속한것이기때문에 외부접속에 성공한것이다.

참고사이트


MySQL 외부에서 접속하기(Workbench)

보통 DataGrip을 사용하는것같은데, 이는 30일만 무료이기때문에 대체할 수 있는 무료 SW를 사용하려한다. : Workbench이용

새로운 연결을 추가해야한다.

Connection Name, HostName(aws의 원격서버 퍼블릭IP), mysql에서 사용할 Username(root가 아닌, 직접 추가한 사용자)을 작성한 후, 'Test Connection'을 누른다.
Store in Keychain을 눌러 비밀번호를 저장한다면 접속할때마다 비밀번호를 번거롭게 입력할 필요가 없다.

여기서 나는 연결할수없다는 오류가 떴다.
ec2에서 인바운드 설정에 3306을 추가하는것뿐만아니라, MySQL conf에서도 원격접속이 허용될 수 있도록 설정해주어야 한다.

MySQL conf 외부 접속 허용 설정

aws linux서버에서 netstat -nltp를 해서 TCP listening상태의 포트와 프로그램을 보면, 127.0.0.1로 되어있을것이다.
이를 0.0.0.0으로 수정해야한다!

netstat : 네트워크 접속, 라우팅 테이블, 네트워크 인터페이스의 통계 정보를 보여주는 도구
-n(number port): 포트넘버
-l(listen): 연결 가능한 상태
-t(tcp): tcp
-p: 프로그램 이름 / PID

aws linux서버에 있는 mysql.cnf파일안의 bind-address = 127.0.0.1을 주석처리하고 새로 추가하든, 기존내용을 수정하든해서 bind-address = 0.0.0.0 으로 수정해주어야 한다.

다른 블로그들에서 말하는 경로에 해당 파일이 없어 조금 헤맸지만, 알고보니 mysql 버전마다 경로가 조금 다를 수 있다고한다.
나의 경우에는 /etc/mysql/mysql.conf.d에 있었다!
service mysql restart로 mysql을 재시작한다.

이후 workbench로 다시 접속해보면, 잘 접속되는것을 확인할 수 있다.

0개의 댓글