반응형

Tasks

Check that there is a Cloud SQL instance
Check that there is a user database on the Cloud SQL instance
Check that the blog instance is authorized to access Cloud SQL
Check that wp-config.php points to the Cloud SQL instance
Check that the blog still responds to requests

 

1. Create Cloud SQL

 

2. MySql dump 를 export 한다.


참고 )
https://cloud.google.com/solutions/migrating-mysql-to-cloudsql-concept
https://cloud.google.com/sql/docs/mysql/import-export/creating-sqldump-csv#std

 

- 실행 명령어

mysqldump --databases [DATABASE_NAME] -h [INSTANCE_IP] -u [USERNAME] -p \
--hex-blob --skip-triggers --single-transaction --set-gtid-purged=OFF \
--ignore-table [VIEW_NAME1] [...] --default-character-set=utf8mb4 > [SQL_FILE].sql

 

- 조건 

The existing database for the blog is provided by MySQL running on the same server. 
The existing MySQL database is called wordpress and the user called blogadmin with password Password1*, which provides full access to that database.

 

- 실행

위 조건에 맞춰서 다음과 같이 실행을 한다. password 는 위 조건에서 처럼 Password1* 를 넣어주면 된다.

 

3. Cloud Bucket 생성 및 dump 를 gcs 로 복사한다.

 

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

 

4. SQL 로 import 한다.

 

참고)

https://cloud.google.com/sql/docs/mysql/import-export/importing

 

명령어를 사용해도 되고 아래와 같이 화면에서 간단히 import 하면 더 편하다.

5. User 추가

 

SQL > Users 탭에서 Create user account 를 클릭한다.

blogadmin 계정을 만들어 준다.

다 된줄 알았는데 아래와 같이 에러가 나온다. ㅡㅡ;

SQL>Connections 탭을 가보면 아래 화면과 같이 Network 설정을 할 수 있다.

Network 설정을 해줘야 하는데 위와같은 range 를 만족해야 한다.

아래 사이트를 가면 쉽게 CIDR range 를 구할 수 있다.

https://www.ipaddressguide.com/cidr

 

CIDR to IPv4 Address Range Utility Tool | IPAddressGuide

Free IP address tool to translate IPv4 address range into CIDR (Classless Inter-Domain Routing) format and vice-versa.

www.ipaddressguide.com

6. wp-config.php 파일을 Cloud SQL Instance 를 사용하도록 수정해준다.

 

wp-config.php 파일에 아래 localhost 를 수정해 하고 주석을 해제 한다. (위치는 /var/www/html/wordpress)

** MySQL hostname

*/ define('DB_HOST', 'localhost');

 

 

7. 이제 재기동 한다. 

sudo service apache2 restart

 

728x90
반응형
반응형

발췌 대상 테이블을 참조한다. (FROM)

발췌 대상 데이터가 아닌 것은 제거한다. (WHERE)

행들을 그룹화 합니다. (GROUP BY) → GROUPPING

그룹함수의 값의 조건에 맞는 것만을 출력한다.(HAVING)

데이터 값을 계산한다. (SELECT)

데이터를 특정 칼럼을 기준으로 정렬한다. (ORDER BY)


앞으로 쿼리 작성할때 염두해 둬야겠다. 

728x90
반응형

'Development > DataBase' 카테고리의 다른 글

[Oracle]select 세로를 가로로 뿌리기  (0) 2013.02.12
[Oracle]시퀀스 만들기  (0) 2013.02.12
SQL 작성시 주의사항  (0) 2013.02.12
[Oracle]계층구조 가져오기  (0) 2013.02.12
[SQL]REGEXP_SUBSTR  (0) 2011.12.20
반응형

조건 칼럼에 연산이 필요한 경우는 칼럼을 변형시키는 연산 대신에 비교되는 상수 값을변형시키는 방법을 찾아야 한다. 컬럼을 변형시킬경우 Index가 존재해도 Full Scan을 하게된다.


SUBSTR(ENAME, 1,1) = '이'  -> ENAME LIKE '이%'

SAL * 12 > 30000000            -> SAL > 30000000 / 12

TO_CHAR(BIRTH,'YYYYMMDD') = '20020909'   -> BIRTH = TO_DATE('20020909','YYYYMMDD')


2. NULL은 인덱스에 들어가지 않기 때문에 인덱스를 스캔할 필요가 없다. 따라서 NULL 비교 조건을 상수 조건으로 변경해야한다. 


name is null ->  name > ''    (VARCHAR2)

age is null   ->  age > 0       (NUMBER)


3. NOT operator를 조건으로 사용한 경우는 부정형 조건을 긍정형으로 변경하면 인덱스 스캔을 할 수 있다.

position <> 'MF'     ->  position < 'MF' OR position > 'MF

728x90
반응형

'Development > DataBase' 카테고리의 다른 글

[Oracle]시퀀스 만들기  (0) 2013.02.12
SQL 문 수행단계  (0) 2013.02.12
[Oracle]계층구조 가져오기  (0) 2013.02.12
[SQL]REGEXP_SUBSTR  (0) 2011.12.20
[Oracle]세로 data를 가로로 변형하기 - LISTAGG  (0) 2011.11.08
반응형

ORDER BY COLUMNAME NULLS LAST   -> NULL 값을 마지막으로
ORDER BY COLUMNAME NULLS FIRST  -> NULL 값을 처음으로
728x90
반응형

+ Recent posts