사내 개발 DB 구성 요청으로 작업 진행한 내역을 정리하려고 한다. 

 

요구사항.

- 운영서버와 동일한 버전 설치

- 운영 DB 스키마와 계정 정보 이관 요청

 

1. DB설치 

사내 DB는 MYSQL을 사용하고 있다.

설치 방법은 소스설치, 패키지 설치, 바이너리 파일 방식으로 편한 방법으로 설치하면 됩니다.

 

사내 DB는 소스설치, 개발 환경은 바이너리 파일로 구성하여 사용하고 있다.

바이너리 파일을 사용하는 이유는 mysql 홈페이지에서 다운로드 하여 압축하고 설정만 변경하여 신속하게 구성이 가능하기 때문이다.

 

DB 설치는 많은 블로그에서 확인 가능하기 때문에 별도로 기록하지 않으려고 한다.

 

2. 운영 DB 스키마, mysql db 백업 및 복구

<운영서버>

mysqldump -u root -p --single-transaction --no-data --all-databases > shema_backup.sql

mysqldump -u root -p mysql > mysql.sql

 

<개발서버>

mysql -u root -p < ./shema_backup.sql

mysql -u root -p mysql < ./mysql.sql

 

백업 완료 후 DB 접속 후 flush privileges;  진행

 

mysql -u root -p        DB 설치 시 설정했던 비밀번호

flush privileges; 

 

이후 mysql 재구동하여 운영DB에서 사용하던 비밀번호로 접속

 

 

<개발 DB 구성 참고>

서비스로 사용중인 운영 데이터는 일반적으로 개발 데이터를 사용할 수 없고 

시험 데이터를 생성해서 사용해야 한다. 

 

간혹 해당 내용을 모르는 개발자분들이 운영데이터를 이관 요청을 하는 경우가 있다

그럴 경우 위에 내용을 전달하고 그럼에도 운영 데이터 필요한 경우 개인정보 비식별화 처리 및 운영데이터 이관  승인 과정을 통해 이관 지원을 해야한다.

 

<ISMS-P_인증기준_세부정검항목> 관련 내용

 

 

'DB' 카테고리의 다른 글

innodb lock 확인 스크립트  (0) 2024.08.01
mysql 5.5 full dump 복구 후 원격 실패 오류  (0) 2024.02.29

트랜잭션을 통한 lcok 증상으로 간헐적인 DB 지연이 발생하여 1초마다 innodb lock 을 확인할 수 있는 스크립트를 작성하여 원인 파악을 했다.

 

show full processlist, show engine innodb status 결과도 같이 확인하면 좋다.

#!/bin/bash

# 출력 파일 정의
OUTPUT_FILE1="/path/INNODB_TRX.log"
OUTPUT_FILE2="/path/INNODB_LOCKS.log"
OUTPUT_FILE3="/path/INNODB_LOCKS_WAITS.log"

# 로그 파일이 있으면 삭제(필요시 사용) 
#if [ -f "$OUTPUT_FILE" ]; then
#    rm "$OUTPUT_FILE"
#fi

# 무한 루프 시작
while true; do
    # 현재 날짜 및 시간
    echo "Timestamp: $(date)" >> "$OUTPUT_FILE1"
    echo "Timestamp: $(date)" >> "$OUTPUT_FILE2"
    echo "Timestamp: $(date)" >> "$OUTPUT_FILE3"

    # InnoDB 트랜잭션 상태 쿼리 실행
    mysql -u user -p'password' -e "SELECT * FROM information_schema.INNODB_TRX;" >> "$OUTPUT_FILE1"
    echo "" >> "$OUTPUT_FILE1"

    # InnoDB 잠금 상태 쿼리 실행
    mysql -u user -p'password' -e "SELECT * FROM information_schema.INNODB_LOCKS;" >> "$OUTPUT_FILE2"
    echo "" >> "$OUTPUT_FILE2"

    # InnoDB 잠금 대기 상태 쿼리 실행
    mysql -u user -p'password' -e "SELECT * FROM information_schema.INNODB_LOCK_WAITS;" >> "$OUTPUT_FILE3"
    echo "" >> "$OUTPUT_FILE3"

    # 1초 대기
    sleep 1
done

 

 

mysql 5.5 full dump 복구 후 원격 접속 및 로컬 서버에서 root를 제외한 계정 접속이 안되는이슈가 발생했다

 

처리 방법 :  flush privileges; 

'DB' 카테고리의 다른 글

개발 DB 구성 작업 정리(스키마, mysql db 만 복구)  (0) 2025.02.28
innodb lock 확인 스크립트  (0) 2024.08.01

+ Recent posts