강좌
클라우드/리눅스에 관한 강좌입니다.
클라우드 분류

네이버클라우드 실무사용법023 : CDB for MySQL 실무 작업하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

CDB for MySQL 실무 작업하기

 

1.CDB for MySQL 생성

 

Cloud DB for MySQL > DB Server > +DB Server 생성 >

 -서버설정

.DBMS종류 : MySQL
  .
서버세대 : G2
  .DB
엔진버전 : mysql(5.7.29)
  .DB
라이센스 : Generic Public License
  .
고가용성지원 : 선택안함
  .Muti Zone :
선택안함
  .VPC : vpc-test-ss
  .Subnet : ss-public-subnet
  .DB Server
타입 : High CPU  (vCPU 2, 메모리 4GB)
  .
데이터스토리지암호화적용 : 선택안함
  .
데이터스토리지 타입 : HDD  *설치이후에는 타입변경 안됨.
  .
데이터스토리지 용량 : 10GB *10GB단위로 과금되며, 최대 6T까지 자동증가됨
  .
요금제 : 시간요금제
  .DB Server
이름 : ss-mysql
  .DB
서비스 이름 : ss-mysql
  .Private Sub
도메인 : 선택안함
  .ACG
설정 :  *Cloud DB를 위한 ACG는 자동설정됨.

 

 

 -DB설정
  .USER_ID : sspark
  .HOST(IP) : %    *
전체접속허용
  .USER
암호 : ncp!@#123
  .DB
접속포트 : 3306
  .
기본DB: sakila
  .DB Config
설정 : naver-mysql-5.7-standard
  .DB log
수집 : 선택   *DB log수집 및 뷰어 기능을 제공함
  .Backup
설정 : 선택
  .Backup
파일 보관기간 : 1 *백업보관일은 최대 30일까지 설정가능
  .Backup
시간 : 사용자정의, 14:00

 

 

 

2. DB User 생성


Cloud DB for MySQL > 해당DB선택 > “DB관리” > “DB User 관리” >


 4b26422187a8cc2355d1163afecf24dc_1694761534_1432.png


. USER_ID : ncpuser
  .HOST(IP) : %
  .DB
권한 : DDL
  .
암호 : ncp!@#123
  +DB User
추가 > 저장

 

 

3.Database 추가

Cloud DB for MySQL > DB Server > 해당DB선택 > DB관리 > “DB Server 상세보기” > “Database관리탭 선택 >


  . Database Name : “application”  >
  . + Database
추가 > 저장

 

 

4.CDB MySQLACG 설정하기

 

현재 생성된 데이터서버의 ACG 를 확인해보면, 본인의 PC 가 접속할 수 있는 ACG 가 설정이 되어 있지 않은 상태이며 서버에서 접근하기 위해서는 ACG 설정이 필요합니다.


Server> ACG > Cloud DB for MySQL
에 해당하는 ACG 를 선택 >

.Inbound : 프로토콜:TCP 접근소스: 0.0.0.0/0 에 대해 허용포트 3306 추가
.Outbound :
프로토콜:TCP 접근소스: 0.0.0.0/0 주소에 대해 허용포트 1-65535 을 추가

 

 

5.DB Connect 실습을 위한 서버설정

/var/www/html/ 디렉토리로 이동하여

dbconnect.ph 파일과
key.php
파일을 다음과 같이 수정한다.

[root@ss-linux-01 html]# pwd

/var/www/html

[root@ss-linux-01 html]#

[root@ss-linux-01 html]# cat dbconnect.php

<?php

 

$servername = "PrivateDomain";

$username = "ncpuser";

$password = "ncp!@#12345";

$dbname = "application";

 

// Create connection

$conn = new mysqli($servername, $username, $password, $dbname);

 

// Check connection

if ($conn->connect_error) {

    die("Connection failed: " . $conn->connect_error);

}

 

?>

 

[root@ss-linux-01 html]#

[root@ss-linux-01 html]# cat key.php

<?php

 

$client_id = "***************";

$client_secret = "*****************************************";

 

?>

[root@ss-linux-01 html]#

 

 

Access Key Secret KeyNCP에 로그인하여 마이페이지” > “계정관리” > “인증키관리에서 각각 확인할 수 있다.

 

 

DB데이터 import하기

 

[root@ss-linux-01 html]# ls -l dbstep3.sql

-rw-r--r-- 1 root root 14798 Nov 10  2021 dbstep3.sql

[root@ss-linux-01 html]#

[root@ss-linux-01 html]#

[root@ss-linux-01 html]# mysql -u ncpuser -p -h db-i7bqs.vpc-cdb.ntruss.com < ./dbstep3.sql

Enter password:**********

[root@ss-linux-01 html]#

 

 

DB접속하여 추가한 DB DATA들 확인하기

 

[root@ss-linux-01 html]# mysql -u ncpuser -p -h db-i7bqs.vpc-cdb.ntruss.com

Enter password:**********

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MySQL connection id is 2494

Server version: 5.7.29-log MySQL Community Server (GPL)

 

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

MySQL [(none)]>

MySQL [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| application        |

| mysql              |

| performance_schema |

| sakila             |

| sys                |

+--------------------+

6 rows in set (0.00 sec)

 

MySQL [(none)]>

MySQL [(none)]> use application;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

MySQL [application]>

MySQL [application]> show tables;

+-----------------------+

| Tables_in_application |

+-----------------------+

| cfr                   |

| cpv                   |

| csr                   |

| css                   |

| geolocation           |

| guest_book            |

| papago                |

| ranking_board         |

| shorturl              |

+-----------------------+

9 rows in set (0.00 sec)

 

MySQL [application]>

MySQL [application]> select * from cfr;

+----+----------------+---------------------+-----------+

| no | remote_ip      | timestamp           | filename  |

+----+----------------+---------------------+-----------+

|  2 | 211.249.70.113 | 2021-04-06 11:32:26 | hyoju.jpg |

|  3 | 211.249.40.20  | 2021-04-06 11:32:43 |           |

|  4 | 211.249.70.113 | 2021-04-28 10:59:52 | a1.jpg    |

+----+----------------+---------------------+-----------+

3 rows in set (0.00 sec)

 

MySQL [application]>exit

[root@ss-linux-01 html]#

 

 

 

6.CDB MySQLpublic domain 부여



아래 확인해보면, 아직 DB에 외부에서 접속을 하기 위한 public domain이 생성되어 있지 않다는 것을 알 수 있다.

 


4b26422187a8cc2355d1163afecf24dc_1694761567_197.png
 

 

그래서 public domain을 생성하기위하여 다음과 같이 설정한다.

 

 

Cloud DB for MySQL > DB Server > 해당DB서버선택 > “DB관리” > “Public 도메인관리“ >

 

Public 도메인을 신청하면 네이버클라우드 플랫폼 외부에서
DB Server
접근할 있습니다.
외부에서 통신하는 데이터는 네트워크 사용량으로 과금이 됩니다.

 

라는 메시지를 확인하고 를 클릭

 

 

4b26422187a8cc2355d1163afecf24dc_1694761591_3564.png
 

 

이제 생성된 public domain으로 외부에서 이 DB로 접속할 수 있다.

 

 

 

7. WorkBench설치 및 Cloud DB 연결하기

 

 

Cloud DB for MySQL 에 접속하여 데이터베이스를 다루기 위해 Workbench 를 활용하 Workbench 설치 URL 은 사용자가이드 > Database > Cloud DB for MySQL > DB 서버 외부 접근 가이드에 가면 확인 가능


해당 URL 에 접속하여 MySQL Workbench 를 다운로드 후, 설치를 진행합니다


다운로드 URL : https://www.mysql.com/products/workbench/

 

 

Workbench Cloud DB 를 연결하기 위해서 MySQL Connections 옆에 ‘+’ 버튼을 클릭

 

 

4b26422187a8cc2355d1163afecf24dc_1694761645_9454.png
 


 

Connection name: edu
Connection method: standard(TCP/IP)
Hostname: edu
서버의 public 도메인
   ◆ Public
도메인 할당 방법
   ◆ Serveice > database > cloud db for mysql
에서 내가 만든 edu 서버를 선택 후 > 상단의 DB 관리 > Public domain 관리 클릭 > 예 클릭

Port: 3306 Username: student

 

입력 후, test connection 을 클릭

 

 

4b26422187a8cc2355d1163afecf24dc_1694761666_7092.png
 


 

Password Cloud DB for MySQL 생성 시 기입했던 비밀번호 입력


비밀번호가 정확히 기입이 되었다면 test connection 이 성공했다는 메시지 팝업

 

 

 4b26422187a8cc2355d1163afecf24dc_1694761689_6465.png 



 

OK 버튼을 클릭하면 성공적으로 Workbench 에서 Cloud DB 를 연결했다는 것을 확인

 

 


4b26422187a8cc2355d1163afecf24dc_1694761709_1049.png
 


 

생성한 Connection 을 클릭하여 접속


Workbench
를 통해 Cloud DB 에 접속해 보면 Cloud DB 를 생성할 때 생성했던 데이터베이스인 saklia 가 생성되어 있는 것을 확인

 

 

 4b26422187a8cc2355d1163afecf24dc_1694761728_3487.png 




 

8. Sample DATA 다운로드

 

Workbench 를 통해 Cloud DB table 을 생성하고 해당 table 에 데이터를 import 하는 실습을 진행


샘플 데이터는 MySQL 에서 제공하는 샘플 데이터를 사용


https://dev.mysql.com/doc/index-other.html

 

 

 

 4b26422187a8cc2355d1163afecf24dc_1694761751_7523.png 


 

4b26422187a8cc2355d1163afecf24dc_1694761770_7312.png
 


 

위 사이트에서 Example Databased 에서 Sakila database zip 파일로 다운로드 받은 후,


 
압축 해제 샘플 데이터를 다운로드 받은 후 saklia 데이터베이스를 클릭한 후에 상단의 폴더 아이콘을 클릭하여 스키마 파일(sakila-schema) 오픈 후 실행

 

 

 

4b26422187a8cc2355d1163afecf24dc_1694761804_4188.png

 

 

 

성공적으로 테이블이 생성되며, 아직 데이터가 없는 상태


4b26422187a8cc2355d1163afecf24dc_1694761804_5338.png


 

 

데이터를 import 하기 위해서 상단의 server 메뉴를 클릭 후, data import 라는 메뉴를 클릭

 

 

4b26422187a8cc2355d1163afecf24dc_1694761847_8102.png
 


Import from self-contained file 을 클릭하여 다운로드 후 압축을 해제한 파일 중 sakila-data SQL 파일을 선택


Default Target Schema
sakila 를 선택 한 후, 하단의 start import 버튼을 클릭

 

 

 4b26422187a8cc2355d1163afecf24dc_1694761871_0276.png 



데이터가 성공적으로 Import 되어서 데이터가 보여지는 것을 확인

 

 

 4b26422187a8cc2355d1163afecf24dc_1694761888_4448.png 

 

 



9.CDB MySQL Event 설정



Cloud DB for MySQL > Event > Event Rule 설정(Cloud Insight) >


 

Cloud insight 상품이용신청이 안되어 있으면 이용신청 클릭



Event Rule > Configuration > Event Rule > +Evnet Rules 생성 > “Cloud Db for MySQL(VPC) 선택 >

 

 

4b26422187a8cc2355d1163afecf24dc_1694761920_3901.png
 


 

Event Rule 생성 버튼 클릭 후 감시 상품 중 Cloud DB for MySQL 선택 후 하단의 다음 버튼 클릭

 

 

Ø  +그룹생성

Ø 

 

 

 4b26422187a8cc2355d1163afecf24dc_1694761940_7354.png



 

Event 를 설정한 데이터베이스 서버 선택

 

그룹 이름은 ss_monitoring 입력 후 하단의생성버튼 클릭

 

 

4b26422187a8cc2355d1163afecf24dc_1694761963_6717.png
 



 

방금 생성한 ss_monitoring 그룹 클릭 > “다음” > “템플릿 생성” >

 

템플릿 이름: mysql_template
Metric : Mysql_slaverun
Level : critical
Condition = 50
Method count = 1

 

Metric : mysql_slow
Level : warning
Condition = 50
Method average 1

 

 

 


4b26422187a8cc2355d1163afecf24dc_1694762001_7199.png





4b26422187a8cc2355d1163afecf24dc_1694762001_7846.png
 



  

 

상단의 통보 대상자 그룹 생성클릭

 

 


4b26422187a8cc2355d1163afecf24dc_1694762098_061.png
 



 

상단의 대상자 추가 클릭 후, 관련 정보 기입

전체 대상자 옆 “ + “ 클릭 후 모니터링 그룹으로 입력

방금 추가한 컨택 정보를 모니터링 그룹으로 할당

 

다시 cloud insight 화면으로 돌아와 모니터링 그룹 선택 후 다음 버튼 클릭

규칙 이름은 ss_monitoring 으로 입력 후 하단의 생성 버튼 클릭

 

 

4b26422187a8cc2355d1163afecf24dc_1694762129_1756.png
 


 

 

10.CDB MySQL Fail-over 테스트



Cloud DB for MySQL > DB Server > DB선택 > “DB관리” > “Master DB Failover” >

 

버튼을 클릭하면 Cloud DB for MySQL 에 대한 Fail-over 가 진행

 


4b26422187a8cc2355d1163afecf24dc_1694762164_445.png
 


 

다음과 같이 Event 탭에서 Failover 를 확인할 수 있으며 현재 Active Master 의 노드도 확인 가능

 

 

 4b26422187a8cc2355d1163afecf24dc_1694762180_5128.png 

 


관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,034 명
  • 현재 강좌수 :  35,791 개
  • 현재 접속자 :  87 명