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에 게시됨
CentOS에서 MySQL 설치 및 구성 방법
CentOS 버전: CentOS 7
MySQL 설치 방법 세가지:
YUM을 통해 간단한 설치
RPM 패키지로 설치
GZ 아르카이브 패키지로 설치
1. YUM을 통해 설치
설치할 MySQL 버전: MySQL Community Server 8.4.3 LTS
설치 과정은 간단하지만, GPG 키와 YUM 저장소 URL가 변경될 수 있으므로 주의 요함
설치 전 체크사항
CentOS 버전 확인
cat /etc/redhat-release
MySQL 공식 YUM ...
6월 7일 20:36에 게시됨
MySQL 연결 풀 초과 문제 해결 방법
에러 메시지 확인
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruc ...
6월 6일 18:38에 게시됨
MySQL 드라이버와 Druid 커넥션 풀 설정 불일치로 인한 Full GC 발생 원인 및 해결 방안
초기 대응 및 현황 파악
장애 발생 당시 3개의 인스턴스에서 Full GC가 발생했으며, 나머지 인스턴스들의 Old Generation 영역도 임계치에 도달해 있었습니다. 다수의 인스턴스가 동시에 Full GC에 진입하면 서비스 전체의 연쇄 장애(Snowball) 현상이 발생할 수 있으므로, 현장 조사를 위해 하나의 인스턴스를 격리한 후 나머지 인스턴스들을 순차적으로 재시작하는 롤링 ...
6월 6일 17:51에 게시됨
MySQL의 로그 아키텍처: Redo Log와 Binlog의 역할과 상호작용
MySQL은 데이터 무결성과 내결함성을 보장하기 위해 다중 레이어의 로그 시스템을 활용합니다. 주요 구성 요소로는 InnoDB 스토리지 엔진이 관리하는 redo log(리두 로그), 트랜잭션 롤백 및 MVCC를 위한 undo log, 그리고 서버 레이어에서 동작하는 binlog(바이너리 로그)가 있습니다. 본 문서에서는 undo log를 제외하고 redo log와 binlog의 작동 원리, 그들의 차이점, ...
6월 6일 02:52에 게시됨
MySQL 윈도우 함수 완벽 가이드: 문법부터 프레임 설정까지
윈도우 함수 개요 및 특징
MySQL 8.0 버전 이상에서 공식적으로 지원되는 윈도우(Window) 함수는 복잡한 데이터 통계 및 분석을 수행할 때 매우 유용한 도구입니다. 기존 그룹화 연산과 달리 테이블의 구조를 변경하거나 별도의 자바쿼리를 작성하지 않고도 행 단위로 데이터를 가공할 수 있습니다.
이 함수들의 핵심 특징은 '그룹화하여 집계하되, 결과 행이 줄어드는 것 ...
6월 5일 21:59에 게시됨