인스턴스에 설치된 mysql에 외부에서 접속하는 과정을 정리한 글이다.
접속할 때, workbench를 사용했다.
Mysql 외부 접속 가능 계정 생성
$ sudo mysql -u root -p //root 계정 접속
//외부 접속 허용할 유저 생성
create user '사용자아이디'@'%' identified by '비밀번호';
//해당 유저(사용자아이디)에게 모든 DB 스키마에 대한 권한을 허용
mysql> grant all privileges on *.* to '사용자아이디'@'%';
//권한 변경 저장
flush privileges;
//부여된 권한 조회
show grants for '사용자아이디'@'%';
보안을 위해 root가 아닌 별도의 아이디를 만들어서 사용하는 것을 추천한다고 한다.
비밀번호는 이전에 보안등급에 설정한 강도에 맞춰서 작성해주어야 한다.
외부 접속 설정
$ cd /etc/mysql/mysql.conf.d
$ sudo vi mysqld.cnf
기본값으로 bind-adress가 127.0.0.1로 되어 있는데, 외부에서 접속이 가능하도록 그 부분을 주석처리하거나 127.0.0.1을 0.0.0.0으로 바꿔준다.
AWS EC2 인스턴스 인바운드 규칙
AWS EC2 -> 보안그룹 -> 해당인스턴스 -> 인바운드 규칙
위 밑줄친 규칙이 추가되어 있어야 한다.
Workbench 설치 및 접속
먼저 mysql 재실행
$ sudo service mysql restart
Workbench 설치 및 접속
https://dev.mysql.com/downloads/workbench/ -> Download -> No thanks, just start my download 클릭
next 계속하고 install
1. Mysql Connections +클릭
- Connection Name: 원하는 이름으로 작성
- HostName: 인스턴스의 퍼블릭 IPv4 주소 (탄력적 IP)
- Username: 외부 접근 허용한 유저명(사용자 아이디)
- Password: 유저 생성시 설정한 비밀번호, Store in Vault.. 버튼눌러서 입력
2. 왼쪽 아래 TestConnection 클릭
아래 창이 뜨면 접속에 성공했다는 의미
ok를 누르면
외부 접속에 성공해서 방금 만든 Connection이 생성된다.
들어가서 Users and Privileges를 보면 생성한 유저가 등록되어 있다.
2023.04.22 추가
datagrip 설치 및 접속
workbench 대신 datagrip을 사용해도 된다. datagrip 사용한 과정도 정리해두고자 추가한다.
datagrip 설치 및 접속
1. new project로 프로젝트 생성
2. 오른쪽 상단에 + 클릭 -> datasource -> mariadb
ec2를 생성할 때, mariadb를 선택했어서 mariadb로 새로운 datasource를 생성했다.
- Name: 원하는 이름으로 작성
- Host: 인스턴스의 퍼블릭 IPv4 주소 (탄력적 IP)
- User: 외부 접근 허용한 유저명(사용자 아이디)
- Password: 유저 생성시 설정한 비밀번호
2. TestConnection 클릭
아래와 같이 드라이버 파일이 없다고 뜬다면 다운받아준다.
설치 후 다시 작성하고 TestConnetion
위와 같이 나오면 접속에 성공한다는 의미다. 이제 ok를 눌러서 생성해준다.
참고한 글
'aws' 카테고리의 다른 글
AWS Nginx Sub Domain 및 Redirection (0) | 2023.04.08 |
---|---|
AWS EC2 서버에 HTTPS 적용 Ubuntu 22.04 기준 (feat. Let's Encrypt) (0) | 2023.04.08 |
AWS EC2 서버에 도메인 연결 (0) | 2023.04.08 |
AWS 서버 환경 구축 - Nginx, MySQL, PHP 패키지 설치 및 Nginx와 php 연동 (0) | 2023.04.07 |
AWS 서버 환경 구축 (0) | 2023.04.06 |
댓글