[MYSQL Docker] 데이터베이스 매일 자동 백업하기

Intro 집에서 개인적으로 운영하고 있는 MYSQL 데이터베이스가 있습니다. 옛날에는 이용자가 없어 개발용으로만 사용하고 있었는데, 요즘에는 어느정도 유의미한 데이터가 쌓이고 있다 보니 괜히 실수로 데이터베이스에 흠집이 갈까 걱정이 되어 이제 슬슬 주기적인 백업을 하려고 합니다. DB에 문제가 생겼을 때, 한시간 이내에 그대로 복구를 해 낼지 아니면 영영 모든 데이터를 잃게 될지 그 결과에 엄청 큰 차이가 있습니다. 규모가 정말 큰 서비스에서는 좀 더 효과적이고 빠른 백업 방법을 찾아야겠지만 손쉽고 간단하게 mysqldump를 이용해서 백업을 하려고 합니다. 거기에 더해 도커 컨테이너에 띄워져 있는 컨테이너를 자동으로 백업 할 수 있도록 스케줄러를 돌리도록 설정을 해서 크게 신경쓰지 않고 DB 데이터 ..

Data/MYSQL ⁄ MariaDB 2023.01.07
[일간에러] Different lower_case_table_names settings for server ('2') and data dictionary ('0').

문제 신년을 맞아 처음으로 올리는 일간 에러. 토요일 아침부터 참으로 통곡이 절로 나는 에러를 메시지를 맞이해 정말 기쁘다. 문제 상황은 간단한데, 기존에 토이프로젝트로 운영하던 서버의 데이터베이스를 복제하는 과정에서 위의 에러가 발생했다. 지금부터 에러가 발생하게 된 경위를 간단하게 브리핑 해 보겠다. 상황 기존에 토이프로젝트로 진행하던 프로젝트의 데이터베이스가, 운영서버의 DB를 개발환경에서도 바로 붙어서 테스트 및 반영까지 하던 상황. 지금까지는 개발서버나 운영서버나 어차피 개발환경이라는게 마찬가지였지만 모두 가족들이긴 해도 활발이 사용해주는 사용자들도 있고 거기에 사용자들이 사용하며 쌓은 데이터베이스를 나도 소중히 다루어야한다는 책임감이 생기며 개발환경과의 분리가 필요하다고 생각이 듬. 처음에 D..

Development/Daily Error 2023.01.07
할 때마다 까먹어서 정리하는 PSQL 접속 방법

Intro 가끔 필요한 일이 돌아왔다. 데이터베이스에 직접 접속해서 뭔가를 변경 해야 한다. Docker 네트워크 내에서만 통신하고 외부로는 바인딩도, 포트 포워딩도 되어 있지 않으니, 번거롭게 다시 설정 하고 컨테이너 재시작 할 필요 없이 컨테이너 내부에 접속해서 바로 변경하면 되겠군. 얼른 마칠 생각을 하며 PostgreSQL 이 떠 있는 컨테이너에 접속하는중 docker exec -it postgres_container bash 이제 psql을 써볼까나..? psql 명령어와 함께 손에 익은 옵션을 기계적으로 붙이는중 psql -U postgres 앗.. postgres 유저가 없다..? 참. 나는 다른 이름으로 유저명을 지정했지 유저명을 변경해 재시도 하는 중 psql -U my_user_name..

Data/PostgreSQL 2023.01.04
스프링 Stereotype 어노테이션 @Component @Controller @Service @Repository 차이점

Intro 스프링기반 프로젝트를 만들다 보면 기계적으로 필요에 따라 각종 어노테이션을 붙이게 됩니다. 컨트롤러에는 @Controller를, 서비스 레이어에는 @Service를, 그리고 데이터베이스에 접근하는 퍼시스턴스 레이어에서는 @Repository를 붙였습니다. 그 외 어플리케이션 컨텍스트에 빈으로 등록 하고 싶은데 특별한 설정 절차가 필요 없어서 컴포넌트 스캔을 통한 자동 등록이면 충분 할 때에는 @Component를 붙여 왔습니다. 그런데, 사실 Bean 으로 등록되어 후에 Dependency Injection에 사용된다는 공통점을 생각 해 보았을 때는 "전부 @Component"로 해도 되는거 아니야?" 라는 생각이 들 수 있습니다. 각각의 차이도 모른채 습관적으로만 사용하고 있는게 사실입니다...

Programming/JPA ⁄ Spring 2022.12.30
[Ubuntu] 우분투에서 우분투 설치 USB 드라이브 만들기

Intro 전에는 MacOS 및 Windows 에서 우분투 설치 드라이브를 만들었었는데, 이번에 우분투 설치 드라이브를 만들어 야 할 일이 생겼는데 사용중인 컴퓨터가 마침 우분투라서 그 과정을 정리 해 보았습니다. 윈도우나 맥북에서 했던 것 보다 훨씬 쉽고 간단하게 생성이 가능했습니다. 1. 우분투 다운로드 https://ubuntu.com/download/desktop 링크에 접속해 원하는 버전의 우분투를 다운 받습니다. 저는 Ubuntu 22.04.1 LTS Desktop 버전을 다운 받았습니다. 서버용도로 사용할 게 아니라면 Desktop 버전을 다운 받으면 됩니다. 다운받은 파일은 총 3.6 GB 입니다. 2. Startup Disk Creator 설치 부팅 가능한 설치 디스크를 생성 하기 위해서..

IT ⁄ Computer/Linux 2022.12.29