CentOS 7 를 위한 mariadb-10.0.15 버전 입니다. 10.0.14 버전의 보안 패치를 적용하고 systemd 를 위한 스크립트가 포함되어 있습니다. 다운로드: http://linux.systemv.pe.kr/files/mariadb-10.0.15.tar.gz 설치방법: Mariadb 10 소스 설치
TIMESTAMP and DATETIME 기능 개선
MariaDB 10 버전이 올라가면 기능이 향상되는데, TIMESTAMP 와 DATETIME 의 데이터 타입(Data Type)을 사용하는 컬럼에 경우 Update, Insert 시에 몇가지 기능이 향상되었습니다.
1 2 3 4 5 6 |
CREATE TABLE test_date ( a INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, b INT, created TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); |
여기서 주목해야 할 것은 ‘created TIMESTAMP DEFAULT CURRENT_TIMESTAMP‘와 ‘updated TIMESTAMP ON UPDATE CURRENT_TIMESTAMP‘ 입니다.
1 2 3 4 5 6 7 8 9 10 |
desc test_date; +---------+------------------+------+-----+---------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +---------+------------------+------+-----+---------------------+-----------------------------+ | a | int(10) unsigned | NO | PRI | NULL | auto_increment | | b | int(11) | YES | | NULL | | | created | timestamp | NO | | CURRENT_TIMESTAMP | | | updated | timestamp | NO | | 0000-00-00 00:00:00 | on update CURRENT_TIMESTAMP | +---------+------------------+------+-----+---------------------+-----------------------------+ 4 rows in set (0.01 sec) |
Default와 Extra 컬럼에 내용을 자세히 보십시오. 여기서 Insert 를 다음과 같이 합니다.
1 2 3 4 5 6 7 8 9 10 |
root@localhost:test 16:40:38> INSERT INTO test_date SET b=1; Query OK, 1 row affected (0.02 sec) root@localhost:test 16:41:38> SELECT * FROM test_date; +---+------+---------------------+---------------------+ | a | b | created | updated | +---+------+---------------------+---------------------+ | 1 | 1 | 2014-10-26 16:41:38 | 0000-00-00 00:00:00 | +---+------+---------------------+---------------------+ 1 row in set (0.00 sec) |
‘created’ 컬럼에 자동으로 시간이 등록됩니다. 과거에는 다음과 같이 해줬어야 했습니다.
1 |
INSERT INTO test_date SET b=1, created=now(); |
‘now()’ 함수를 사용해서 했어야 했지만 Mariadb 10 에서 TIMESTAMP 타입을 이용해서 컬럼을 정의하면 더 손쉽게 자동으로 처리를 해줍니다. 다음과 […]
MariaDB 10 소스 설치
MariaDB 는 MySQL 의 오픈소스 버전 입니다. MySQL 를 최초로 개발한 사람이 점점 폐쇄성이 짙어가는 MySQL 을 대체하기 위해 MySQL 을 복제하고 기능을 개선한 MySQL 의 또 다른 버전 입니다. 현재 MariaDB 는 10.0.14 버전 입니다. MariaDB 10 소스 설치를 해보겠습니다. 설치 환경은 다음과 같습니다. 배포판: CentOS 7 아키텍쳐: 64bit 준비 MariaDB 10.0.14 버전은 MariaDB 홈페이지에서 다운받을 수 있습니다. 그런데, 이 소스 버전을 가지고 설치를 할 수도 있지만, Fedora 배포판에서 패치한 버전을 가지고 설치를 해보겠습니다. Fedora 배포판의 경우에 10.0.14 버전에 […]
MariaDB 오픈 소스 데이터베이스
MariaDB 는 한 개발자의 노력을 시작된 오픈 소스 프로젝트 입니다. 과거 오픈 소스 데이터베이스의 대명사인 MySQL 을 개발한 개발자 중에 한인 Monty Widenius. 1962년 핀란드 태생으로 1995년 MySQL 데이터베이스를 개발하기 시작해서 그 이듬해에 첫 릴리즈를 하게 됩니다. 그리고 1998년, 3.21 버전부터 www.mysql.com 을 만들어 운영하면서 명실상부한 오픈 소스 데이터베이스로 발을 딛기 시작 합니다. MySQL은 오픈소스 정책을 가지고 있지만 개발과 판매등을 총괄하는 회사가 있습니다. MySQL AB 라는 회사인데, 개발지원에서부터 판매, 홍보까지 MySQL에 거의 모든것을 관장하던 회사입니다. MySQL이 오픈소스이긴 하지만 라이센스정책이 이중으로 […]
PostgreSQL 설치.
PostgreSQL 은 인기있는 오픈소스 데이터베이스 시스템 입니다. PostgreSQL 9.0 으로 넘어오면서 ‘Hot Stand by Replication’ 기능을 제공하게 되는등 많은 변화가 있었습니다. 이 문서는 CentOS 7 배포판에서 PostgreSQL 설치에 대한 것입니다. 1. 준비 다음의 패키지가 설치되어 있어야 합니다.
1 |
yum install gcc.x86_64 gcc-c++.x86_64 wget.x86_64 bzip2-devel.x86_64 pkgconfig.x86_64 openssl-devel.x86_64 make.x86_64 man.x86_64 nasm.x86_64 gmp.x86_64 gdbm-devel.x86_64 readline-devel.x86_64 compat-readline43.x86_64 ncurses-devel.x86_64 db4-devel.x86_64 automake* autoconf* pcre-devel.x86_64 -y |
2. Download and Unpack
1 2 3 4 |
cd /usr/src wget http://ftp.postgresql.org/pub/source/v9.4beta2/postgresql-9.4beta2.tar.bz2 tar xjf postgresql-9.4beta2.tar.bz2 cd postgresql-9.4beta2 |
3. Configure and Compile and Install 필요한 기능이 무엇인지를 고민해 봅시다. 많은 기능들을 제공하지만 대략적으로 다음과 같은 기능을 제공하는 것이 좋습니다. plpython => python-devel.x86_64 pltcl => tcl-devel.x86_64 plperf => perl-devel.x86_64 ssl => openssl-devel.x86_64 pam => pam-devel.x86_64 […]