Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

JINIers

[PCK] Migrate a MySQL Database to Google Cloud SQL 본문

GCP/Qwiklabs

[PCK] Migrate a MySQL Database to Google Cloud SQL

JINIers 2022. 2. 12. 17:06

MySQL 데이터베이스를 Google Cloud SQL로 마이그레이션

 


목표

1. Google Cloud SQL 인스턴스 생성 및 데이터베이스 생성
2. MySQL 데이터베이스를 Cloud SQL로 가져오기
3. 로컬 MySQL 데이터베이스 대신 Cloud SQL을 사용하도록 애플리케이션 재구성


도전 시나리오

귀하의 WordPress 블로그는 더 이상 적합하지 않은 서버에서 실행되고 있습니다. 전체 마이그레이션 연습의 첫 번째 부분으로 블로그에서 사용하는 로컬 호스팅 데이터베이스를 Cloud SQL로 마이그레이션합니다.

기존 WordPress 설치는 랩에서 이미 실행 중인 /var/www/html/wordpress이라는 인스턴스의 디렉터리에 설치됩니다. blog웹 브라우저를 열고 블로그 인스턴스의 외부 IP 주소를 가리켜 블로그에 액세스할 수 있습니다.

블로그의 기존 데이터베이스는 동일한 서버에서 실행되는 MySQL에서 제공합니다. 기존 MySQL 데이터베이스가 호출 되고 해당 데이터베이스에 대한 전체 액세스를 제공하는 비밀번호 Password1*wordpress 을 사용하여 사용자가 blogadmin 이라고 합니다.



당신의 도전

마이그레이션된 데이터베이스를 호스팅하려면 새 Cloud SQL 인스턴스를 만들어야 합니다. 새 데이터베이스를 만들고 구성한 후에는 기존 데이터베이스의 데이터베이스 덤프를 만들고 Cloud SQL로 가져올 수 있습니다. 데이터가 마이그레이션되면 마이그레이션된 데이터베이스를 사용하도록 블로그 소프트웨어를 재구성합니다.

이 실습의 경우 WordPress 사이트 구성 파일은 다음 위치에 있습니다 /var/www/html/wordpress/wp-config.php.

요약하자면, 여러분의 과제는 데이터베이스를 Cloud SQL로 마이그레이션한 다음 더 이상 로컬 MySQL 데이터베이스에 의존하지 않도록 애플리케이션을 재구성하는 것입니다. 행운을 빕니다!

참고: 실험실 활동 추적 점수는 블로그가 실행 중이기 때문에 처음에 20점으로 보고됩니다. Cloud SQL 데이터베이스를 성공적으로 사용하도록 블로그 애플리케이션을 재구성하면 해당 포인트가 총계에 남습니다.

데이터베이스가 잘못 마이그레이션된 경우 "블로그가 실행 중" 테스트가 실패하여 점수가 20점 감소합니다.


[체크포인트]

1. Cloud SQL 인스턴스가 있는지 확인
2. Cloud SQL 인스턴스에 사용자 데이터베이스가 있는지 확인
3. 블로그 인스턴스가 Cloud SQL에 액세스할 수 있는 권한이 있는지 확인합니다.
4. wp-config.php가 Cloud SQL 인스턴스를 가리키는지 확인합니다.
5. 블로그가 여전히 요청에 응답하는지 확인


웹콘솔 > SQL > create instance > my sql 선택 > id,pw 설정 > create
- 체크포인트 1 완료


compute engine > vm instance > 'blog' instance ssh 접속

'blog' instance ssh > 

mysqldump --databases wordpress -h localhost -u blogadmin -p \
> --hex-blob --skip-triggers --single-transaction \
> --default-character-set=utf8mb4 > wordpress.sql 
Enter password:  Password1*                                   // pw 입력하면 안뜨나 입력은 된것임!

ls <- 로 wordpress.sql 있는지 확인


export PROJECT_ID=$(gcloud info --format='value(config.project)')
gsutil mb gs://${PROJECT_ID}
gsutil cp ~/wordpress.sql gs://${PROJECT_ID}


cloud storage > browesr > bucket 눌러 > wordpress.sql 파일 있는지 확인

sql > instance > 'demo' 인스턴스 눌러 > public ip 확인

> databases > create database > create 
- database name : wordpress
- character set : utf8mb4
- collation : default collation

- 체크포인트 2 완료

'demo' instance 확인

* sql 인스턴스는 만드는데 오래걸린다. 참고 기다려라



> overview > import > brower > bucket 선택 > wordpress.sql 선택 > destination database : wordpress > import

> users > add user account > add
- user name : blogadmin
- pw :  Password1*

> connections 확인 > add network > done > save
- name : blog
- blog external ip : 104.154.227.0/24
블로그 주소 : 104.154.227.239 → 104.154.227.0로 변경해서 입력해야함


blog instance ssh > 
cd /var/www/html/wordpress/

wp-config.php 있는지 확인

- 체크포인트 3 완료


sudo service mysql stop
sudo service mysql status
sudo nano wp-config.php

> 파일 수정 후 저장
/** MySQL hostname */
define('DB_HOST', 'localhost');  → define('DB_HOST', '34.132.26.109');

* ip는 sql > overview > public ip address


sudo service apache2 restart
sudo service apache2 status
sudo service mysql status

- 체크포인트 4,5 완료


참고 : https://www.youtube.com/watch?v=jbsObWzxJSM

 

 

Comments