DevOps8 [MySQL] MySQL DB를 PostgreSQL DB로 마이그레이션 하는 방법 업무를 하다보면 DB 데이터 및 스키마를 마이그레이션 해야하는 일이 생긴다.비용 절감이나 여러가지 이유에서 이러한 상황이 발생하는데, 이때 마이그레이션 자동화 도구를 통해 간편하게 마이그레이션을 할 수 있다. 자동화 도구에는 대표적으로 여러가지가 있다pgloader (이것을 사용할 예정)mysql2pgsqlmysql2psqlChatGPT피셜로 가장 유명한 pgloader를 이용해서 마이그레이션을 진행해 보겠다.먼저 pgloader를 설치해야 한다참고로 설치기기는 Mac M1 Pro 기준이다. $ brew install pgloader 정말 간단한데 여기서 겪었던 시행착오들을 좀 설명하려고 한다.원래 내가 생각한 플로우는 `mysqldump` 명령어를 통해 mysql 스키마 덤프pgloader를 이용하여 .. 2024. 6. 14. [MySQL] 간단한 1회성 마이그레이션 스크립트를 수행해야 한다면? 서버 개발을 하다보면 여러가지 상황에서 마이그레이션을 해야하는 상황이 생긴다.예를 들면 기능의 변경 및 추가로 인해 새로운 데이터를 업데이트 해야하거나, 오염된 데이터를 정상화 시키는 작업 등이 그렇다이럴 때 여러가지 방법으로 간단한 스크립트를 처리 할 수 있는데 나는 보통 1회성 JS 스크립트(Node)나 SQL 스크립트를 이용하곤 했다.예를 한가지 들어보자.DB에 어떤 JSON 컬럼이 있다. 잘못된 요청으로 인하여 이상한 데이터가 DB내에 적재 되었다.약 1000만 건의 데이터 중에 2만건 정도의 데이터를 UPDATE 해야하는 쿼리가 있다고 가정하고 이를 정상화 해보자. 1. JS 1회성 스크립트const batchSize = 500; // 한번에 처리할 양let offset = 0;let total.. 2024. 6. 11. [k8s] 쿠버네티스 무게감 있게 설치하기 현재 수강중인 강의에서 나왔던 내용을 간략하게 정리해 보고자 한다.위 그림은 전반적인 테스트환경 구성도이며, 테스트를 위한 Linux 가상머신(rocky linux)이 설치되어 있다고 가정한다. 1번부터 3번은 리눅스 설치 및 테스트 환경 구성에 대한 내용이므로 생략한다.위 그림을 기준으로 4번부터 간략하게 정리하면 다음과 같다.쿠버네티스 설치 (모든 node)4. 테스트 환경을 위한 rocky linux 기본 설정가장 먼저 패키지를 업데이트하고 timezone을 설정한다.yum -y update # 패키지 업데이트timedatectl set-timezone Asia/Seoul # timezone을 Asia/Seoul로 변경yum install -y yum-utils iproute-tc # traffic.. 2024. 5. 15. [k8s] 쿠버네티스와 컨테이너 한방 정리 Linux의 흐름최초의 OS는 Unix그 이후 오랜 시간이 흘러 Linux 운영체제 개발Linux는 두개의 버전으로 나뉘어짐무료 버전인 `debian` Linux유료 버전인 `RedHat` Linuxdebian Linux는 커뮤니티 버전으로 무료. 이 OS를 기반으로 전세계에서 가장 많이 사용하는 ubuntu가 탄생RedHat Linux는 RedHat 기업에서 개발한 유료 OS이다. 보통 유지보수를 위해 기업에서 주로 사용여기서 RedHat Linux는 새로운 버전이 배포되는 순서가 있음Fedora Linux: 개발 버전, 새로운 기능들을 먼저 선보임 (Dev)RHEL(RedHat Enterprise Linux): 개발 버전이 안정화 된 버전. 유료CentOS: RHEL을 복제해서 만든 무료 버전Cent.. 2024. 5. 14. [AWS] AWS CLI 여러 계정 사용하기 AWS CLI 를 사용하다 보면 회사 계정, 개인 계정 등으로 골치아플 때가 많다. 이럴때 아래 명령어를 사용하면 간편하다. $ aws configure --profile 'username' 위 명령어를 입력하게 되면 `aws configure` 명령어를 입력했을 때와 똑같이 발급받은 Access Key를 입력받는다. AWS Access Key ID [None]: Access Key AWS Secret Access Key [None]: Secret Access Key Default region name [None]: region name Default output format [None]: output format 이렇게 입력하게 되면 각 aws 명령어에서 `--profile username` 을 추가하.. 2022. 5. 7. DockerFile 작성하기 서론 우선 Docker 를 쓴게 막 엄청 오래된건 아니였지만 그래도 나름 한 1년정도는 자주 애용하였습니다. 그런데 이제 와서 왜 Dockerfile 을 작성하려고 하냐.. 그건 바로 정리되지 않은 지식덕분에 결국엔 구글링을 전부 해본다는게 문제였습니다. 그래서 오늘은 Dockerfile 작성 방법을 아주 "간단하게" 포스팅 해보려고 합니다. DockerFile? DockerFile 은 도커에서 이용하는 이미지를 기반으로 하여 새로운 이미지를 스크립트 파일(DockerFile) 을 통해 내가 설정한 이미지를 생성할 수 있는 일종의 Image Config 파일이다. 사실 이전에 포스팅 했던 'MS 공식문서로 이해하는 ~~' 시리즈에서 DockerFile에 대한 내용은 어느정도 정리를 해놓았는데요, 하지만 .. 2021. 12. 28. 이전 1 2 다음 반응형