트랜잭션의 격리 수준

In 데이터베이스 시스템 by Choi Kyung-sik

트랜잭션의 격리 수준을 이해하기 위한 배경 지식으로 트랜잭션, 고립성, 이상현상을 먼저 살펴본다. 트랜잭션의 개요 데이터베이스의 여러 연산을 묶어 놓은 것을 사용자의 관점에서는 하나의 단위로 여겨질 수 있다. 예를 들어, 다른 계좌로 돈을 이체하는 것은 사용자의 관점에서 하나의 작업이지만, 데이터베이스 시스템 내에서는 여러 연산을 결합한 것이다. 이처럼, 하나의 논리적인 작업 단위를 위한 연산들의 모음을 트랜잭션(transaction)이라 한다. 데이터의 무결성(integrity)을 보장하려면, 데이터베이스 시스템은 …

데비안 9(Stretch)에서 10(Buster)으로 업그레이드 시 주의 사항

In 네트워크와 시스템 관리 by Choi Kyung-sik

데비안 9에서 데비안 10으로 업그레이드 하면서 내가 부딪쳤던 문제들을 정리해 본다. eth0 네트워크 인터페이스 이름의 미지원 네트워크 인터페이스 이름으로 eth0 등을 사용하고 있다면 데비안 10으로 업그레이드하기 전에 새로운 방식의 이름으로 변경해 주어야 한다. 이에 대한 이해를 위해 네트워크 인터페이스에 이름을 부여하는 방법의 변화 과정을 보자. 원래의 간단한 체계(Original Simple Scheme)는 리눅스 커널이 단순히 eth0, eth1 등으로 이름을 붙인다. 이 체계의 …

데비안을 새 버전으로 업그레이드하기

In 네트워크와 시스템 관리 by Choi Kyung-sik

데비안은 정교한 패키지 관리 시스템을 가지고 있어 한 번 설치하면 재설치 없이 계속해서 새 버전으로 업그레이드할 수 있다. 이 글을 쓰는 데 사용하고 있는 시스템은 2011년 즈음에 버전 5.0(Lenny)을 설치한 이래로 버전 10(Buster)까지 왔다. 데비안은 게으른 사람에게 더할 나위 없는 리눅스 배포판이다. 현재 사용하는 버전 안에서의 업그레이드는 apt update && apt upgrade 명령어로 한껏 여유를 부릴 수 있다. 새 버전으로 …

데비안의 MariaDB 설치와 설정

In 데이터베이스 시스템, 네트워크와 시스템 관리 by Choi Kyung-sik

데비안 9(Stretch)부터 MariaDB는 디폴트 MySQL 변종이다. 즉, MariaDB가 기존의 MySQL을 완전히 대체한다. 데비안 8(Jessie)의 MySQL 버전은 5.5이다. 내가 사용하는 Confluence 등이 MySQL 5.5를 지원하지 않았기 때문에 MySQL Community의 MySQL 5.6을 설치해야 했다. 최근에 Confluence, Jira, Bitbucket의 MySQL 데이터베이스를 PostgreSQL로 이전하였다. 워드프레스의 데이터베이스만이 MySQL에 남았다. 워드프레스는 현재 공식적으로 MySQL과 MariaDB만을 지원한다. 정교한 데비안 패키지 관리의 이점을 얻기 위해 MariaDB로 돌아갈 것이다. …

Windows 터미널의 설정 및 ssh 사용하기

In 네트워크와 시스템 관리 by Choi Kyung-sik

Windows 10은 OpenSSH를 포함하고 있으나 명령 프롬프트(cmd.exe)의 기능 부족으로 사용이 꺼려졌다. Windows 터미널이 나오면서 Xshell, SecureCTR, PuTTY 등을 대체할 수준까지 올라왔다. Windows 터미널을 처음 설치하고 막막할 수 있는 설정 방법과 ssh 클라이언트의 효율적인 사용을 정리해 본다. Windows 터미널은 Microsoft 스토어에서 검색해서 설치한다. Windows Terminal 구매에서 무료 버튼을 클릭하면 Windows 터미널이 있는 스토어로 들어갈 것이다. 프로필에 기본적인 설정하기 Windows 터미널 화면상에서 …

Confluence 서버의 MySQL을 PostgreSQL로 마이그레이션 하기

In 네트워크와 시스템 관리, 데이터베이스 시스템 by Choi Kyung-sik

데비안 시스템의 Confluence 서버에서 MySQL을 PostgreSQL로 마이그레이션 한 과정을 보여주려고 한다. 내가 사용하는 데비안 9(stretch)의 PostgreSQL 버전은 9.6이다. Confluence는 버전 6.13.8을 설치하고 있다. 먼저 이 버전의 Confluence에서 지원하는 데이터베이스를 볼 필요가 있다. Supported Platforms – Confluence 6.13을 보면 PostgreSQL 9.4, 9.5, 9.6을 지원하므로 마이그레이션을 진행할 수 있다. 작업을 진행하기 전에 MySQL의 데이터베이스와 Confluence 홈 디렉토리를 백업한다. 뒤에서 서술할 내용에서 Confluence의 …

Jira 서버의 MySQL을 PostgreSQL로 마이그레이션 하기

In 데이터베이스 시스템, 네트워크와 시스템 관리 by Choi Kyung-sik

Jira 서버의 MySQL을 PostgreSQL로 마이그레이션 한 작업 과정을 정리해 본다. 내가 사용하는 데비안 9(stretch)의 PostgreSQL 버전은 9.6이다. Jira 서버는 버전 7.13.0을 설치하고 있다. 먼저 이 버전의 Jira에서 지원하는 데이터베이스를 봐야 한다. Supported platforms – Jira Server 7.13을 보면 PostgreSQL 9.4, 9.5, 9.6을 지원하므로 마이그레이션을 진행할 수 있다. 아래에서 내가 사용하는 Jira 홈 디렉토리인 /var/local/lib/jira로 예를 들 것이다. 단계 1. XML …

Bitbucket 서버 업그레이드하기

In 네트워크와 시스템 관리 by Choi Kyung-sik

지원 정보 확인하기 오라클의 엄격해진 라이센스 정책으로 Java, MySQL, VirtualBox 등이 데비안의 패키지 대상에서 빠져나갔다. 데비안과 그 시스템에 설치한 Atlassian 제품인 Confluence, Jira, Bitbucket을 업그레이드할 때 신경이 쓰이고 손이 많이 간다. 좀 더 쉬운 관리를 위해 Oracle Java는 OpenJDK로 MySQL은 PostgreSQL로 변경하기로 마음먹고 작업을 진행하였다. Bitbucket 서버처럼 Atlassian 제품을 설치할 때나 업그레이드할 때 항상 문서 웹 페이지를 확인할 필요가 있다. …

Bitbucket 서버의 MySQL을 PostgreSQL로 마이그레이션 하기

In 네트워크와 시스템 관리, 데이터베이스 시스템 by Choi Kyung-sik

데비안 시스템의 Bitbucket에서 MySQL을 PostgreSQL로 옮겼던 과정을 보여주려고 한다. 내가 사용하는 데비안 9(stretch)의 PostgreSQL 버전은 9.6이다. Bitbucket은 버전 7.2.3을 설치하고 있다. 먼저 이 버전의 Bitbucket에서 지원하는 데이터베이스를 볼 필요가 있다. Supported platforms – Bitbucket Server 7.2.x를 보면 PostgreSQL 9.4에서 11까지 지원하므로 마이그레이션을 진행할 수 있다. 작업을 진행하기 전에 기존의 MySQL의 데이터베이스와 Bitbucket 홈 디렉토리를 백업한다. 뒤에서 홈 디렉토리는 내가 사용하는 …

Confluence, Jira, Bitbucket의 systemd unit 설정

In 네트워크와 시스템 관리 by Choi Kyung-sik

2012년 즈음에 Confluence, Jira, Stash(Bitbucket의 이전 이름)를 데비안 시스템에 TAR.GZ Archive 파일을 사용하여 처음 설치하였다. 시작 스크립트는 공식적인 지원 대상이 아니고 그에 대한 문서의 내용도 부실해서 직접 만들어야 했다. Confluence, Jira, Stash가 Tomcat을 사용했기 때문에 데비안 6.0(Squeeze)의 Tomcat 6을 참고하여 init.d 스크립트를 작성했었다. Tomcat과 같이실제 제작자(upstream)의 소프트웨어는 데비안 개발자가 데비안의 정책에 맞게 패키지를 만든다. init.d 스크립트를 작성할 때 그것에 맞게 …