본문 바로가기

Database

mysqldbcopy를 이용한 DB to DB copy mysqldbcopy를 써보자 물리적으로 분리된 동기종간 data sync를 위해 mysqldbcopy를 사용해 봤습니다. windows mysqldbcopy를 사용하기 위해서는 mysql utilities를 설치해야합니다. https://downloads.mysql.com/archives/utilities/ MySQL :: Download MySQL Utilities (Archived Versions) MySQL Utilities is now covered under Oracle Lifetime Sustaining Support Per Oracle's Lifetime Support policy, as of May 30, 2018, MySQL Utilities is covered under Oracle .. 더보기
multiple DB schema compare(다중 DB 스키마 비교) www.notion.so/multiple-DB-schema-compare-81ad7c053f904755aca62564e00b871e 더보기
DB 반영 자동화 스크립트 스키마 구조가 같은 여러개의 DB를 운영하는 환경에서 DB 스키마 구조 변경시 일일이 변경할 수 없기에 아래와 같은 스크립트를 실행하여 변경사항을 모든 DB에 반영한다. path 구조 /cnf/mysql.cnf # mysql.cnf 설정값 가지고 있음(계정.패스워드) /log # 스크립트 실행시 로그 남김 /script # 실제 실행할 쿼리스크립트 보관경로 ./db_host.txt # DB host list ./db_script.sh # shell script mysql.cnf [mysql] default-character-set = utf8mb4 user = 계정 password = "패스워드" shell script #!/bin/bash LOG_FILE_NM=db_script_`date +"%Y%m%.. 더보기
RDS tmp_table_size를 올려야하는 이유 mariadb(mysql)은 수행되는 쿼리 문에 order by 와 같은 sort 문이 들어갈 경우 데이터를 호출하고 -> 임시테이블에 호출된 데이터를 sort 하고 -> sort 완료된 데이터를 load 한다 데이터가 많은 테이블에 다량의 order by 쿼리가 들어올 경우 tmp 테이블이 감당할 수 있는 만큼은 memory에 적재하여 수행하지만...이후에는 disk를 사용하기 시작하고 cpu까지 부하가 발생 lock걸린 테이블 또는 processlist를 보면 아래와 같이 "Copying to tmp table" 또는 "Copying to tmp table on disk" 두개의 state 확인이 가능하다. RDS를 쓰는 우리의 tmp 기본값은 16MB로 설정되어 있었고 해당 값을 256MB로 늘림... 더보기
DB 모니터링 TOOL(PMM) 구축 개요. DB 모니터링을 Grafana를 통해 현재 EC2 서버 스펙단의 모니터링 및 일부 IOPS등의 모니터링을 하고 있으나, 세부적인 DB 매트릭에 대한 모니터링은 되지 않고 있기에 DB 전용 모니터링 시스템(PMM. percona monitoring management)을 구축하기로 함 목적. 좀더 세밀한 지표를 설정 하고 모니터링 하여 DB에 문제가 발생시 즉각적으로 판단할 수 있는 근거를 마련하고자 함(Alert and 모니터링) 구축 방법. docker 설치 PMM 서버 / 클라이언트 설치 docker 구축 // root 권한으로 로그인 yum -y upgrade // yum 최신버전 업데이트 sudo amazon-linux-extras install -y docker //aws 전용 리눅스 명.. 더보기
slowquery 분석 방법 목적. DB에서 발생하는 슬로우쿼리를 찾아내고 개선하여 슬로우쿼리가 발생하는 빈도를 줄여 perfomance를 최적화 시킨다. 내가 관리하는 RDS에는 여러 솔루션의 DB가 혼재되어 있다. 슬로우 쿼리 자체를 수집하고 제공하는 것은 매우 쉬운일이나 그 자체를 분석하고 해결하는 일은 공수가 꽤 많이 드는 일이다. 그래서 어떻게 하면 보다 가시적이고 쉽게 인지할 수 있게끔 분석을 해서 개발자들에게 전달해 줄까 고민을 많이 했다. 분석도구 pt-query-digest : percona toolkit에 포함된 슬로우 쿼리 분석 툴 (https://www.percona.com/downloads/percona-toolkit/LATEST/) 제공 프로세스 분석된 로그를 메일로 매주 월요일 오전 각 개발팀 DB 담당자.. 더보기
DB 스키마 반영 TOOL(DB 스키마 반영 도구 구축기) #2 이전글. 2019/05/31 - [Paul Granduer Lee /DB] - DB 스키마 반영 TOOL(DB 스키마 반영 도구 구축기) #1_마이다스아이티 이전글에 이어 스키마 반영 도구 flyway의 활용법과 percona toolkit 중 스키마 무중단 반영 도구인 pt-onlinept-online-schema-change에 대해 간략하게 소개하고자 한다. 소개 가즈아~ flyway는 현재 DB 웹클라이언트에 연동해서 구축을 해놨다. 스키바 반영 메뉴 추가 스키마 반영 메뉴. 스키마 업로드 기능. 스키마 반영 정보 확인. 이렇게 위와 같이 웹서비스로 사용할 수 있게 구현해 놨고, 프로세스만 잘 수립한다면 요긴하게 사용되지 않을까한다. 단, DBA가 해당 도구를 자동화하지 않고 수동으로 작업하는것을 .. 더보기
DB 스키마 반영 TOOL(DB 스키마 반영 도구 구축기) #1 DBA인 나에게는 고민이 있었다. DB 스키마 반영을 내가 하고 있지만 언제 어떤 스키마를 반영했는지 정확하게 이력관리가 되지 않고(수동 관리) 무엇을 했는지 언제 했는지 조차 관리가 되지 않고 있었다. 조사를 해보니 이러한 고민을 가진 DBA들이 많았고 추천하는 Tool이 있어서 소개하고자 한다. https://flywaydb.org/ 기능은 참 심플하다. DB에 반영할 스키마를 네이밍 룰에 맞게끔 지정된 stoage에 넣어놓고 flyway라는 툴로 실행을 하면 DB에 반영되고 반영된 이력을 flyway에서 남긴다. 또한 잘 반영되었는지 안되었는지까지 validation check하는 기능도 제공한다. 또한 상용제품을 사용할 경우 rollback기능까지 제공한다. 구축방법은 여러가지를 제공한다. API.. 더보기