네이버클라우드 실무사용법023 : CDB for MySQL 실무 작업하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 1,578 조회
- 0 추천
- 목록
본문
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 관리” >
. 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 MySQL의 ACG 설정하기
현재 생성된 데이터서버의 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 Key는 NCP에 로그인하여 “마이페이지” > “계정관리” > “인증키관리” 에서 각각 확인할 수 있다.
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 MySQL에 public domain 부여
아래 확인해보면, 아직 DB에 외부에서 접속을 하기 위한 public domain이 생성되어 있지 않다는 것을 알 수 있다.
그래서 public domain을 생성하기위하여 다음과 같이 설정한다.
Cloud DB for MySQL > DB Server > 해당DB서버선택 > “DB관리” > “Public 도메인관리“ >
Public 도메인을 신청하면 네이버클라우드 플랫폼 외부에서
DB Server 로 접근할 수 있습니다.
외부에서 통신하는 데이터는 네트워크 사용량으로 과금이 됩니다.
라는 메시지를 확인하고 “예”를 클릭
이제 생성된 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 옆에 ‘+’ 버튼을 클릭
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 을 클릭
Password 는 Cloud DB for MySQL 생성 시 기입했던 비밀번호 입력
비밀번호가 정확히 기입이 되었다면 test connection 이 성공했다는 메시지 팝업
OK 버튼을 클릭하면 성공적으로 Workbench 에서 Cloud DB 를 연결했다는 것을 확인
생성한 Connection 을 클릭하여 접속
Workbench 를 통해 Cloud DB 에 접속해 보면 Cloud DB 를 생성할 때 생성했던 데이터베이스인 saklia 가
생성되어 있는 것을 확인
8. Sample DATA 다운로드
Workbench 를 통해 Cloud DB 에 table 을 생성하고 해당 table 에 데이터를 import 하는 실습을 진행
샘플 데이터는 MySQL 에서 제공하는 샘플 데이터를 사용
https://dev.mysql.com/doc/index-other.html
위 사이트에서 Example Databased 에서 Sakila database 를 zip 파일로 다운로드 받은 후,
압축 해제 샘플 데이터를 다운로드 받은 후 saklia 데이터베이스를 클릭한 후에 상단의
폴더 아이콘을 클릭하여 스키마 파일(sakila-schema) 오픈 후 실행
성공적으로 테이블이 생성되며, 아직 데이터가 없는 상태
데이터를 import 하기 위해서 상단의 server 메뉴를 클릭 후, data import 라는 메뉴를 클릭
Import from self-contained file 을 클릭하여 다운로드 후 압축을 해제한 파일 중 sakila-data SQL 파일을 선택
Default Target Schema 는 sakila 를 선택 한 후, 하단의 start import 버튼을 클릭
데이터가 성공적으로 Import 되어서 데이터가 보여지는 것을 확인
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) 선택 >
Event Rule 생성 버튼 클릭 후 감시 상품 중 Cloud DB for MySQL 선택 후 하단의 다음 버튼 클릭
Ø +그룹생성
Ø
Event 를 설정한 데이터베이스 서버 선택
그룹 이름은 ss_monitoring 입력 후 하단의 “생성” 버튼 클릭
방금 생성한 ss_monitoring 그룹 클릭 > “다음” > “템플릿 생성” >
템플릿 이름: mysql_template
Metric : Mysql_slaverun
Level : critical
Condition = 50
Method count = 1
Metric : mysql_slow
Level : warning
Condition = 50
Method average 1
상단의 “통보 대상자 그룹 생성” 클릭
상단의 대상자 추가 클릭 후, 관련 정보 기입
전체 대상자 옆 “ + “ 클릭 후 모니터링 그룹으로 입력
방금 추가한 컨택 정보를 모니터링 그룹으로 할당
다시 cloud insight 화면으로 돌아와 모니터링 그룹 선택 후 다음 버튼 클릭
규칙 이름은 ss_monitoring 으로 입력 후 하단의 생성 버튼 클릭
10.CDB MySQL Fail-over 테스트
Cloud DB for MySQL > DB Server > DB선택 > “DB관리” > “Master DB Failover” >
‘예’버튼을 클릭하면 Cloud DB for MySQL 에 대한 Fail-over 가 진행
다음과 같이 Event 탭에서 Failover 를 확인할 수 있으며 현재 Active Master 의 노드도 확인 가능
관련자료
-
이전
-
다음