티스토리 뷰
1. GCP에서 3306 포트 개방
VPC 네트워크 > 방화벽 > 방화벽 규칙 만들기
수신, 허용 IP:0.0.0.0/0 & tcp 포트: 3306으로 설정

2. 원격 허용 확인
1) GCP 인스턴스에서 mysql -uroot -p로 mysql 서버에 접속
2) user 정보를 가진 mysql DB로 전환
mysql> use mysql;
3) 원격 접속 허용 확인
mysql> select host, user, password from user;

host가 % 이면 모든 IP에서 접속이 허용된 것이고, localhost이면 원격 접속이 제한된 것이다.
(특정 IP가 써 있으면 해당 IP에서만 접속이 허용된 것)
3. 원격 접속에 필요한 계정 생성
create user '계정이름'@localhost identified by '비밀번호';
-- 계정 삭제는 delete from user where user = '유저이름';
4. DB 생성
계정을 생성하였으니 데이터베이스를 만들고, 생성한 계정에 접근할 수 있는 권한을 부여해 준다.
create schema 데이터베이스이름;
use 데이터베이스이름;
5. DB 권한 부여
1) 특정 IP만 허용
mysql> grant all privileges on *.* to '계정이름'@'IP주소' identified by '계정비번';
2) IP 대역 허용
mysql> grant all privileges on *.* to '계정이름'@'192.168.0.%' identified by '계정비번';
3) 모든 IP 허용
mysql> grant all privileges on *.* to '계정이름'@'%' identified by '계정비번';
여기서 *.*은 스키마명. 테이블명이다. *.*은 모든 스키마(DB)의 테이블을 뜻한다. 특정 스키마와 테이블을 지정해 주고 싶으면 userDB.* 이런 식으로 입력하면 된다.
6. MySQL 설정 파일에서 모든 IP에서 접속 만들기
cd /etc/mysql/mysql.conf.d
sudo vim mysqld.cnf
위 경로로 이동해 bind-address = 127.0.0.1 을 0.0.0.0으로 수정해 준다.

7. MySQL 재시작
sudo service mysql restart
8. 외부에서 MySQL 접속
DataGrip 혹은 MySQL Workbench 를 실행시킨 후 새로운 프로젝트를 생성한다.
Data Source > MySQL 을 선택해 데이터베이스의 정보를 입력해 준다.


'Server > Distribution' 카테고리의 다른 글
| EC2 생성 후 SpringBoot 배포 (1) | 2024.07.24 |
|---|---|
| Amazon Linux 2023 el9 ver MySQL 설치 오류 (0) | 2024.02.05 |