티스토리 뷰

plugin innodb 쓰기

http://dev.mysql.com/doc/refman/5.1/en/replacing-builtin-innodb.html

1. 다운로드
www.mysql.com 에서 mysql-5.1.46.tar.gz 다운로드
2. root 권한으로 설치가 되어 있는지 확인 후(되어 있으면 삭제) 압축 해제
3. 컴파일 필요 패키지 목록
cnurses-devel
libtermcap-devel
gcc-c++

기존 RPM 버전 확인
# su – root
# rpm -qa | grep mysql
기존 RPM 존재 하면 버전 삭제
# rpm -e MySQL리스트항목 –nodeps
4. mysql-5.1.46 폴더로 이동후 컴파일 설정후 컴파일
다운 위치로 이동후 압축해제
# tar zxvf mysql-5.1.46.tar.gz
# cd mysql-5.1.46
# ./configure –help  ( 옵션 확인 )
 ./configure  –prefix=/usr/local/mysql   ( /usr/local/mysql 경로에 설치 )
  –localstatedir=/usr/local/mysql/data   ( /usr/local/mysql/data  DB 데이터를 data에 설치 )
  –sysconfdir=/etc                                ( 환경설정파일이 저장될 경로 )
  –with-charset=utf8                              ( character )
  –with-extra-charsets=all
  –with-plugins=innobase                       ( 트랜잭션을 위한 innoDB )

# ./configure  –prefix=/usr/local/mysql-5.1 –localstatedir=/usr/local/mysql-5.1/data –sysconfdir=/etc –with-charset=utf8 –with-extra-charsets=all –with-plugins=innobase

만약 gcc 에러가 난다면
# yum -y install gcc-c++

만약  checking for termcap functions library… configure: error: No curses/termcap library found <– 에러 발생
# yum list termcap -> installed 되어 있음
# yum list curses  -> installed 되어 있음

그렇다면 configure 옵션에 추가 해 준다. –with-named-curses-libs=/usr/lib/libncursesw.so.5
# ./configure  –prefix=/usr/local/mysql-5.1 –localstatedir=/usr/local/mysql-5.1/data –sysconfdir=/etc –with-charset=utf8 –with-extra-charsets=all –with-plugins=innobase
컴파일 하기
# make
# make install
5. MySQL 계정 생성 및 MySQL 경로소유권 변경
계정정보 확인
# cat /etc/passwd
# groupadd mysql
# adduser -M -c Mysql_server -d /usr/local/mysql-5.1 -g mysql -s /bin/nologin mysql
6. MySQL 데이터 베이스 디렉터리 생성
# /usr/local/mysql-5.1/bin/mysql_install_db
디렉토리 생성 확인
# cd /usr/local/mysql-5.1/data
# ls
mysql  test

만일 /usr/local/mysql-5.1/data 생성되지 않으면 rpm 버전 mysql을 제거 한다.

7. 디렉터리 소유권 변경
# chown root.mysql -R /usr/local/mysql-5.1  (디렉토리 소유권 변경)
# chown mysql.mysql -R /usr/local/mysql-5.1/data
8. MySQL 라이브러리 위치 지정
# cat >> /etc/ld.so.conf
/usr/local/mysql-5.1/lib
Ctrl + D 눌러 저장 종료
# ldconfig

9. MySQL 설정 파일 복사
# cd /usr/local/mysql-5.1/share/mysql
# vi my-medium.cnf
# cp /usr/local/mysql-5.1/share/mysql/my-medium.cnf /etc/my.cnf
10. 방화벽 설정 (버전마다 틀릴수 있음)
# vi /etc/sysconfig/iptables
아래 내용 추가
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m udp -p udp –dport 3306 -j ACCEPT
# service iptables restart
11. MySQL 서버 데몬 띄우기
# /usr/local/mysql-5.1/bin/mysqld_safe -user=mysql &
만일 ./mysql-bin.index’ not found (Errcode: 13) <– 이런 에러가 났을 경우
해당 data디렉토리의 permission 을 바꾸주면 된다.
# chown -R mysql.mysql /usr/local/mysql-5.1/data ( 해당 data 디렉토리 )
데몬 확인
# ps ax | grep mysqld

만일 구동실패시 데이터 베이스 경로의 소유권 점검
12. 부팅시 자동 MySQL 데몬 작동
# cp /usr/local/mysql-5.1/share/mysql/mysql.server /etc/init.d/mysqld
# chkconfig –level 3 mysqld on
# chkconfig –level 5 mysqld on
13. MySQL 초기 구동해서 루트 비번 설정
# /usr/local/mysql-5.1/bin/mysql -p mysql
Enter password: 그냥 앤터
> update user set password=password(‘1234′) where user=’root';
> flush privileges;
> quit
14. MySQL DB 생성 및 사용자 생성
# /usr/local/mysql-5.1/bin/mysql -u root -p
Enter password:
> create database se;
> use mysql;
> insert into user(host,user,password) values(‘localhost’,’seban’,password(‘seban00′));
> insert into db(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Create_tmp_table_priv,Lock_tables_priv,Create_view_priv,Show_view_priv,Create_routine_priv,Alter_routine_priv,Execute_priv,Event_priv,Trigger_priv)
values(‘%’,’se’,’seban’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
만일 등록시 에러가 나면
select * from db; 실행해서 컬럼 갯수를 마춰줌
> flush privileges;
> exit
# /usr/local/mysql-5.1/bin/mysqladmin -p reload
Enter password:
15. MySQL 테이블 만들기
# /usr/local/mysql-5.1/bin/mysql -u seban -p
Enter password:
> use se;
> create table member(
id varchar(12) not null primary key,
passwd varchar(12) not null,
name varchar(12) not null,
reg_date datetime not null
);
> show tables;


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함