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에 게시됨

MySQL VARCHAR 데이터 타입 심층 분석

💡 참고: 다음 결과물은 MySQL 8.2 및 InnoDB 환경에서 테스트되었습니다. VARCHAR(255)의 의미 VARCHAR(255)는 최대 255개의 문자를 저장할 수 있음을 의미합니다. 실제로 얼마나 많은 바이트를 차지하는지는 문자 집합(character set)에 따라 결정됩니다. VARCHAR의 최대 길이는 얼마일까요? 이 질문을 검색해보면 65535라는 답변을 어느 정도 접했을 것입니다. 예를 ...

6월 5일 02:28에 게시됨

Java 및 데이터베이스 처리를 위한 핵심 기술 팁

날짜 연산 처리: Calendar를 활용한 날짜 조작 자바에서 날짜에 일수를 더하거나 빼야 할 경우 Calendar 클래스를 사용하는 것이 표준적인 방법이다. 아래 예제는 현재 날짜에 하루를 추가하는 코드이다. import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; Date currentDate = new Date(); Calendar calendar = new GregorianCalen ...

6월 5일 00:23에 게시됨

아치 음식거리 웹사이트의 SSM 기반 설계 및 구현

시스템 아키텍처 설계 본 시스템은 전통적인 음식 거리의 정보를 중심으로 운영되는 웹 플랫폼으로, 모듈 기반의 계층적 아키텍처를 채택하였다. 주요 구성 요소는 다음과 같다. 음식점 관리 모듈: 식당 등록, 정보 수정, 위치 및 메뉴 관리 사용자 인증/권한 모듈: RBAC 기반의 역할 기반 접근 제어 시스템 리뷰 및 평점 시스템: 사용자 리뷰 수집 및 평균 점수 산출 ...

6월 4일 22:41에 게시됨

MySQL 날짜 및 시간 함수 완전 정리

MySQL은 날짜와 시간 데이터를 다루기 위한 다양한 내장 함수를 제공합니다. 이 글에서는 현재 날짜/시간 획득, 특정 값 추출, 계산, 변환 및 타임스탬프 처리에 이르기까지 주요 함수들을 상세히 살펴봅니다. 1. 현재 날짜 및 시간 정보 가져오기 1.1 NOW() - 현재 날짜 + 시간 NOW()는 가장 일반적으로 사용되는 함수로, 쿼리가 실행되는 순간의 날짜와 시간을 반환합 ...

6월 4일 20:51에 게시됨

Android 클라이언트에서 서버로 로그인 정보 전송

안드로이드 앱에서 사용자 이름과 비밀번호를 입력받아 서버에서 MySQL 데이터베이스를 통해 유효성을 검사하는 로그인 기능을 구현하는 방법을 공유합니다. 핵심은 안드로이드 클라이언트에서 서버로 데이터를 안전하게 전송하는 것입니다. 서버 측 구현 (Java Servlet) 먼저, 클라이언트로부터 요청을 받아 처리하는 간단한 서블릿을 작성합니다. 이 예제에서는 요청된 ...

6월 4일 18:41에 게시됨

Synology NAS 기반 MySQL 데이터베이스 마이그레이션 전략

환경 구축 배경 및 목표기존 로컬 워크스테이션에 보관되어 있던 대용량 금융 관련 데이터셋의 저장 공간 문제가 발생합니다. 물리적 하드웨어 한계로 인해 디스크 용량이 부족해짐에 따라, 네트워크 어태치드 스토리지(NAS) 인프라를 확장하여 해결책을 모색하게 됩니다. 본 문서에서는 업그레이드된 Synology NAS 모델에서 Docker 컨테이너 관리자를 활용하여 MySQL 인스 ...

6월 3일 20:13에 게시됨

Linux 환경에서 MySQL 서비스 제어를 위한 다양한 방법

MySQL 5.6 기준, 서비스 시작 및 종료 방법 정리 Linux 시스템에서 MySQL 데이터베이스 서버를 관리할 때는 여러 가지 방식으로 서비스를 시작하거나 중지할 수 있습니다. 아래는 주로 사용되는 방법들을 정리한 내용입니다. 1. mysqld 직접 실행 방식 mysqld는 MySQL의 실제 데몬 프로세스입니다. 이를 직접 호출하여 서버를 구동할 수 있습니다. RPM 설치 시: /u ...

6월 3일 20:05에 게시됨

MySQL 데이터베이스 생성 및 PHP 연결 실습: 보안을 고려한 완전 가이드

데이터베이스 연결 구성 파일 웹 애플리케이션에서 데이터베이스 연결을 관리하기 위해 db_config.php 파일을 사용하는 방식은 일반적이고 효과적입니다. 이 접근법의 구조와 예시를 설명합니다: 연결 구성 파일 (db_config.php): <?php $server = 'localhost'; // 데이터베이스 서버 주소 $databaseName = 'my_app_db'; // 데이터베이스 이름 $dbUser = 'db_admin' ...

6월 3일 18:26에 게시됨