티스토리 뷰

Server/Distribution

GCP에 MySQL 원격 접속

JJIINDOL 2023. 11. 27. 00:44

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;

 

나의 경우 password 까지 입력하면 오류가 나서 빼 줬다.

 

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함