GCP에서 VM을 이용해 MySQL 또는 MariaDB를 설치하고, 이를 로컬 환경에서 연결하는 방법을 정리했습니다. 


(1) GCP VM 생성하기

GCP 콘솔 또는 gcloud CLI를 이용해 새로운 VM 인스턴스를 생성합니다.

gcloud compute instances create my-db-server \
    --machine-type=e2-medium \
    --image-family=debian-11 \
    --image-project=debian-cloud \
    --tags=mysql-server \
    --zone=asia-northeast3-a

💡 Tip: VM 인스턴스 태그(mysql-server)를 설정하면 방화벽 규칙을 쉽게 적용할 수 있습니다.


(2) MySQL 또는 MariaDB 설치하기

VM에 SSH 접속 후 패키지를 업데이트하고 MySQL 또는 MariaDB를 설치합니다.

sudo apt update
sudo apt install mysql-server -y  # MySQL 설치

MariaDB를 사용하려면:

sudo apt install mariadb-server -y

설치 후, 서비스가 정상적으로 실행되는지 확인합니다.

sudo systemctl status mysql

(3) 원격 접속 허용하기

MySQL/MariaDB의 설정 파일을 수정하여 외부 접속을 허용합니다.

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address 값을 다음과 같이 변경합니다:

bind-address = 0.0.0.0

변경 후 MySQL을 재시작합니다.

sudo systemctl restart mysql

(4) MySQL 사용자 계정 및 권한 설정

MySQL에 접속하여 원격 접속이 가능한 사용자를 생성합니다.

mysql -u root -p

다음 SQL 명령어를 실행하여 새로운 사용자를 추가하고 권한을 부여합니다.

CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

(5) GCP 방화벽에서 3306 포트 개방

MySQL의 기본 포트인 3306을 외부에서 접근할 수 있도록 GCP 방화벽 규칙을 추가합니다.

gcloud compute firewall-rules create mysql-rule \
    --allow tcp:3306 \
    --target-tags=mysql-server \
    --source-ranges=0.0.0.0/0

보안 주의: 운영 환경에서는 IP 제한을 걸어야 합니다!


(6) 로컬에서 MySQL 접속 테스트

로컬 PC에서 MySQL에 접속해봅니다.

mysql -h <GCP_VM_EXTERNAL_IP> -u myuser -p

연결이 정상적으로 이루어지면 완료입니다! 

 

(7) MySQL을 /data/mysql에 설치하기

  1. MySQL 서비스 정지
sudo systemctl stop mysql

   

   2.기존 데이터 디렉토리 이동

sudo mv /var/lib/mysql /data/mysql

 

   3. 심볼릭 링크 생성

sudo ln -s /data/mysql /var/lib/mysql

 

  4. MySQL 설정 파일 수정 (/etc/mysql/mysql.conf.d/mysqld.cnf)

datadir=/data/mysql

  

  5. MySQL 서비스 재시작

sudo systemctl start mysql

설치 후, 서비스가 정상적으로 실행되는지 확인합니다.

sudo systemctl status mysql

+ Recent posts