aws ec2 서버에 설치한 mysql에 외부접속하기
mysql에 접속할 유저를 생성해 준다. mysql은 사용자 아이디, 비밀번호, 호스트주소를 통해 접속을 허용해 준다.
sudo mysql -u root -p ## root 계정으로 로그인
create user 'wook2'@'%' identified by 'password'; ## wook2라는 유저를 생성
%가 들어가는 위치에는 host주소를 작성해 주어 해당 호스트 접속만 받겠다를 설정할 수 있고, %는 모든 호스트를 받겠다는 뜻이다.
create databases test; ## test라는 데이터베이스 생성
show databases; ## 데이터베이스 목록 보여주기
use mysql; ## 테이블 정보 불러오기 위해 변경
select user,host from user; ## 유저 정보 불러오기
grant all privileges on test.* to 'wook2'@'%';
## 'wook2'@'%'에 test db에 접근할 수 있는 권한 제공
flush privileges; ## 권한변경 update
show grants for 'wook2'@'%'; ## 권한 보기
mysql 서버가 외부 접속을 허용하도록 0.0.0.0으로 모든 위치에서의 접근을 허용해 준다.
cd /etc/mysql/mysql.conf.d
sudo vi mysqld.conf
sudo service mysql restart ## 설정변경사항 적용하기
서버의 데이터베이스에 접근하기 전에 서버에 접근을 가능하게 하기 위해 어떤 주소로든 3306 포트로 mysql에 접근할 수 있게 규칙을 추가해 준다.
datagrip에서 새 프로젝트를 생성 후, mysql을 연결해 준다.
host는 ec2 public ip를 사용하면 되고, user password에 이전에 만들었던 정보를 입력해 주면 된다.
성공적으로 업로드 된 모습이다.