MHA를 이용한 MySQL 고가용성 환경 구축

MHA의 주요 기능: 장애 발생 시 MySQL의 바이너리 로그 이벤트 저장; 최신 업데이트를 포함하는 슬레이브 서버 식별; 차이점 리레이 로그 적용을 통한 다른 슬레이브 서버 동기화; 마스터로부터 저장된 바이너리 로그 이벤트 적용; 새로운 마스터로 슬레이브 서버 승격; 나머지 슬레이브 서버들을 새로운 마스터에 연결하여 복제 설정; MHA 환경 설정: 관리자 노드: 192 ...

6월 11일 02:21에 게시됨

컨테이너 환경 관리를 위한 Docker 핵심 가이드

호스트와 컨테이너 간 파일 전송 컨테이너에서 로컬 머신으로 데이터를 옮길 때 docker cp를 활용합니다. 다음은 대상 경로를 지정하는 기본 문법입니다. docker cp <대상_컨테이너>:<내부_경로> <호스트_저장위치> 실제 사용 예시: docker cp web_app:/var/log/nginx/access.log /home/admin/logs/access.log 반대로 호스트의 파일을 컨테이너 내부로 ...

6월 10일 22:13에 게시됨

SQL 핵심 문법 완벽 가이드

SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하기 위해 설계된 표준 언어입니다. ANSI SQL이 표준이지만, 각 DBMS(예: MySQL, PostgreSQL, Oracle)는 고유한 확장 기능(PL/SQL, T-SQL 등)을 제공합니다. 이 문서에서는 데이터 정의, 조작, 쿼리 및 제어에 필요한 핵심 SQL 문법을 예제와 함께 설명합니다. 1. 데이터베이 ...

6월 10일 21:49에 게시됨

Spring Boot 다중 데이터 소스 및 트랜잭션 관리

Spring Boot 애플리케이션에서 여러 데이터베이스를 사용하고 각각의 트랜잭션을 제어하는 방법을 설명합니다. 애플리케이션 시작 지점에 @EnableTransactionManagement 어노테이션을 추가하여 트랜잭션 관리를 활성화합니다. package com.example.multidb; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringB ...

6월 10일 00:34에 게시됨

데이터베이스 기본 키와 외래 키의 활용 차이점

기본 키와 외래 키의 정의기본 키(Primary Key)는 테이블에서 각 레코드를 고유하게 식별하는 후보 키입니다. 한 테이블에는 하나의 기본 키만 존재할 수 있습니다. 예를 들어, 사용자 정보를 저장하는 테이블에서 사용자 고유 번호(userNumber)는 해당 사용자를 유일하게 구분할 수 있는 식별자가 되므로 기본 키로 적합합니다.기본 키는 단일 필드로 구성되거나 여러 필 ...

6월 10일 00:12에 게시됨

MySQL 저장 프로시저를 활용한 테스트 리포트 자동 집계 시스템

테스트 실행 결과를 기반으로 동적 리포트 생성하기 자동화 테스트 환경에서 각 테스트 케이스의 실행 결과를 효과적으로 정리하고 리포트 형태로 저장하기 위해 MySQL 저장 프로시저를 사용하는 방법을 설명합니다. 아래는 주어진 테스트 데이터를 분석하여 요약 정보를 report 테이블에 삽입하거나 업데이트하는 전체 로직입니다. 주요 테이블 구조 report: 집계된 ...

6월 9일 22:53에 게시됨

Spring Boot와 MySQL을 이용한 간단한 데이터 조회 구현

프로젝트 아키텍처 구성 1. 컨트롤러 계층 (Controller) package com.example.controller; import com.example.model.User; import com.example.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind. ...

6월 9일 19:05에 게시됨

네트워크 서비스 취약점 분석 및 권한 상승: NFS, SMTP, MySQL

네트워크 서비스 보안 감사 개요 네트워크 서비스는 시스템 간 통신과 데이터 공유를 가능하게 하는 핵심 요소이지만, 잘못된 구성은 심각한 보안 취약점으로 이어질 수 있습니다. 본 글에서는 NFS, SMTP, MySQL 서비스의 동작 원리를 살펴보고, 정보 열거(Enumeration) 및 취약점 활용(Exploitation)을 통한 권한 상승 기법을 다룹니다. NFS(Network File System) 분석 ...

6월 8일 18:52에 게시됨

Spring Boot 3.x 환경에서 MyBatis 코드 자동 생성 도구 활용하기

mybatis-generator-maven-plugin 소개 MyBatis Generator는 데이터베이스 스키마를 분석하여 엔티티 클래스, 매퍼 인터페이스, XML 매핑 파일 등을 자동으로 만들어주는 Maven 플러그인입니다. 공식 문서에서 상세한 정보를 확인할 수 있습니다. 이 도구를 활용하면 반복적인 CRUD 코드 작성에서 벗어나 비즈니스 로직 개발에 집중할 수 있습니다. 주요 장점은 다음과 같습 ...

6월 8일 02:03에 게시됨

MySQL 데이터베이스 백업 도구 비교: mysqldump와 mysqlhotcopy

1. MySQL 백업 유형 분류 데이터베이스 백업은 여러 기준에 따라 분류할 수 있으며, 각각의 특성과 사용 사례가 다릅니다. 운영 영향도 기준 핫 백업 (Hot Backup): 데이터베이스가 실행 중인 상태에서 백업을 수행합니다. 서비스 중단 없이 진행되며, InnoDB와 같은 트랜잭션 지원 엔진에서 주로 사용됩니다. 콜드 백업 (Cold Backup): 데이터베이스를 완전히 중지한 후 ...

6월 7일 21:07에 게시됨