Database

InnoDB 설치 하기

페이지 정보

본문

기존의 MySql 에서는 트랜잭션 기능을 제공하지 않는다.

이 트랜색젼 기능을 설치 하기 위해서는 따로  InnoDB를 설정 해 주어야 한다.

다음은 InnoDB 설정에 관련된 메뉴얼이다. 이 것은 2004년 4월 9일에 작성되었다.

 

 

트랜잭션을 사용하려면 mysql이 InnoDB를 지원해 주어야 한다. 하지만 지금은 InnoDB 테이블을 만들 수 없다. InnoDB를 만들 수 있게 하는 설정을 알아보자. 먼저 /usr/share/doc/packages/MySQL 로 이동 하여 보자. 그 폴더를 살펴보면 my-huge.cnf, my-large.cnf, my-medium.cnf, my-small.cnf 가 보일 것이다. 이 것중에서 my-medium.cnf를 /etc 폴더에 my.cnf 이름으로 카피한다.
 -> # cd /usr/share/doc/packages/MySQL
 -> # cp my-medium.cnf /etc/my.cnf
이제 my.cnf 파일을 열어보자 다른 곳은 가만히 놔두고 다음과 같은 곳의 주석을 제거해준다.


--------------------------------------------------------

 innodb_data_home_dir = /home/mysql/
 innodb_data_file_path = ibdata1:10M:autoextend
 innodb_log_group_home_dir = /home/mysql/
 innodb_log_arch_dir = /home/mysql/
 set-variable = innodb_buffer_pool_size=16M
 set-variable = innodb_additional_mem_pool_size=2M
 set-variable = innodb_log_file_size=5M
 set-variable = innodb_log_buffer_size=8M
 innodb_flush_log_at_trx_commit=1
 set-variable = innodb_lock_wait_timeout=50
 innodb_flush_log_at_trx_commit=1
 set-variable = innodb_lock_wait_timeout=50
--------------------------------------------------------

 

주석을 제거해주고 파란색으로 되어 있는 부분을 보면 /var/lib/mysql 이라고 되어 있을 것이다. 이 것을 /home/mysql 로 바꾸어준다. 이제 바꾼 것을 저장하고 다시 mysql을 실행 시켜준다. InnoDB가 제대로 실행이 되었다면 /home/mysql 폴더에 ib_로 시작하는 파일들이 생겼을 것이다.

 

 

InnoDB 테이블을 생성해보자.
mysql> create table test (id int not null primary key auto_increment, name varchar(50) not null, key test_name(name)) type=innodb;
mysql> show table status
로 테이블의 상태를 확인해 보자 InnoDB 라고 되어 있을 것이다. 테이블이 생성되었다면
mysql> insert into test (name) values ('aaa');
mysql> insert into test (name) values ('bbb');
mysql> begin;
이제 트랜젝션을 실행한다.
mysql> insert into test (name) values ('ccc');
테이블을 확인해 보면 aaa, bbb, ccc 가 들어가 있을 것이다. 이제 롤백을 한다.
mysql> rollback;
다시 테이블을 확인해보면 트랜젝션 하기 전인 aaa, bbb 만 들어가 있을 것이다.

관련자료

등록된 댓글이 없습니다.
Today's proverb
행복은 우리 마음속에 숨어 있는 거예요. 우리가 마음의 문을 열고 긍정적인 생각만 가진다면 우리에게 선물로 주어지는 거예요. 《어린 왕자에게서 배우는 삶을 사랑하는 지혜》, 최현복