마음의 안정을 찾기 위하여 - 하나의 시스템에 버젼이 다른 2개 이상의 Mysql Install하기
2401898
415
500
관리자새글쓰기
태그위치로그방명록
별일없다의 생각
dawnsea's me2day/2010
색상(RGB)코드 추출기(Color...
Connection Generator/2010
최승호PD, '4대강 거짓말 검...
Green Monkey**/2010
Syng의 생각
syng's me2DAY/2010
천재 작곡가 윤일상이 기획,...
엘븐킹's Digital Factory/2010
하나의 시스템에 버젼이 다른 2개 이상의 Mysql Install하기
Database/MYSQL | 2008/09/18 13:42

1. 설치할 Mysql Version별 파일 다운로드 (http://mysql.com)

설치하실 mysql 파일(위의 2개 버젼)을 파일을 다운받아 /usr/local/src 에 옮겨놓습니다.
본 문서에서는  mysql4.x와 mysql5.x를 설치하도록 하겠습니다.



2. Mysql의 설치

2-1. 설치에 들어가기전에

버전이 다른 2개의 Mysql을 설치하는데 있어 핵심은 버전이 다른 2개의 Mysql의 환경설정 파일과 사용포트가 서로 중복되지 않도록 하는 것 입니다.
Mysql의 설치과정은 각 버전별로 특색(?)이 있는경우 해당 특성에 맞게 옵션을 설정하면 되며 Mysql 소스 컴파일시에 설치 디렉토리와 리스닝 포트 그리고 소켓 파일의 이름을 다르게 주도록 합니다.

2-2. mysql 사용자 계정 생성

# adduser mysql
# passwd mysql

2-3. mysql-4.x 설치# cd /usr/local/src

# cd /usr/local/src
# tar xvfz mysql-4.1.22.tgz
# cd mysql-4.1.22
# ./configure --prefix=/usr/local/mysql_4.1.22 --localstatedir=/home/mysql/data41 --with-unix-socket-path=/home/mysql/mysql41.sock --with-tcp-port=3341 --with-charset=euckr
# make
# make install

Mysql Compile 및 설치가 완료된 후 심볼링 링크를 설정하여줍니다. 설정을 한 이후부터는 링크된 경로를 이용하여 작업을 진행합니다. (필수 사항은 아니지만 조금이라도 타이핑을 덜 치는 수고를 덜기 위함입니다.)

# ln -s /usr/local/mysql_4.1.22 /usr/local/mysql41


2-4. mysql-4.x 환경설정

# cd /usr/local/mysql4/bin
# ./mysql_install_db
# cd /home/mysql/data41
# rm -rf /etc/my.cnf
# cd /usr/local/mysql41/share/mysql
# cp ./my-medium.conf /home/mysql/data41/my.cnf
# cd /home/mysql
# chown mysql.mysql ./data41 -R
# cd /home/mysql/data41
# vi ./my.cnf
[client]
port = 3341
socket = /home/mysql/mysql41.sock

[mysqld]
port = 3341
socket = /home/mysql/mysql41.sock

# cd /usr/local/mysql41/share/mysql
# vi ./mysql.server
datadir=/home/mysql/data41
pid_file=/home/mysql/data41/mysql41.pid



2-5. mysql-5.x 설치

# cd /usr/local/src
# tar xvfz mysql-5.0.67.tgz
# cd mysql-5.0.67
# ./configure --prefix=/usr/local/mysql-5.0.67 --localstatedir=/home/mysql/data50 --with-unix-socket-path=/home/mysql/mysql50.sock --with-tcp-port=3350 --with-charset=utf8
# make
# make install

Mysql Compile 및 설치가 완료된 후 심볼링 링크를 설정하여줍니다. 설정을 한 이후부터는 링크된 경로를 이용하여 작업을 진행합니다. (필수 사항은 아니지만 조금이라도 타이핑을 덜 치는 수고를 덜기 위함입니다.)

# ln -s /usr/local/mysql-5.0.67 /usr/local/mysql50


2-6. mysql-5.x 환경설정

# cd /usr/local/mysql50/bin
# ./mysql_install_db
# cd /home/mysql/data50
# rm -rf /etc/my.cnf
# cd /usr/local/mysql50/share/mysql
# cp ./my-medium.conf /home/mysql/data50/my.cnf
# cd /home/mysql
# chown mysql.mysql ./data50 -R
# cd /home/mysql/data50
# vi ./my.cnf
[client]
port = 3350
socket = /home/mysql/mysql50.sock

[mysqld]
port = 3350
socket = /home/mysql/mysql50.sock


# cd /usr/local/mysql50/share/mysql
# vi ./mysql.server
pid_file=/home/mysql/data50/mysql50.pid
server_pid_file=/home/mysql/data50/mysql50.pid

2-7. 서비스 등록 및 Mysql 실행

# cp ./mysql.server /etc/rc.d/init.d/mysqld41
# chkconfig --add mysqld41
# cp ./mysql.server /etc/rc.d/init.d/mysqld50
# chkconfig --add mysqld50

# ntsysv
   ntsysv실행후 mysqld41과 mysqld50에 각각 [X]표시를 하여, 시스템 시작시 자동으로 실행되도록 합니다.

# /etc/rc.d/init.d/mysqld41 start
Starting MySQL. SUCCESS!
# /etc/rc.d/init.d/mysqld50 start
Starting MySQL. SUCCESS!

# ps -ax | grep mysqld
# cd /home/mysql
# ls -al 하시고 mysql41.sock 과 mysql50.sock

마지막으로 4.1 과 5.0 둘 중 Default로 사용할 Mysql을 심볼링 링크연결하면 작업 완료입니다.

# ln -s /usr/local/mysql-5.0.67 /usr/local/mysql


2008/09/18 13:42 2008/09/18 13:42
Article tag list Go to top
View Comment 5
Trackback URL :: 이 글에는 트랙백을 보낼 수 없습니다
From. 로이스 2008/09/18 15:55
답글달기삭제
euckr.. 저거저거.. 단순한 단어인데 저거 하나때문에 삽질한거 하믄 아주.. ㅠㅠ
내가만든서비스 어찌될지 모르니 UTF-8추천 ㅎㅎㅎ
From. 그리움(복분자주) 2008/09/19 10:20
삭제
흐흐..
저도 mysql3.22에서 mysql5.x대로 블로그랑 몇가지 데이터 이동시키면서 utf8 전환때문에 애먹었었어요. ^^
From. 피앙새 2008/09/19 08:12
답글달기삭제
우와~~ 포스팅수가 굉장히 많네요.
그리고 컴퓨터 관련 포스팅이 많아 저도 많이 배워야겠어요.
오늘 금요일이죠? 낼이 벌써 주말이네요.
주말 즐겁고 건강하게 보내세요!!!
From. 그리움(복분자주) 2008/09/19 10:21
삭제
그래도 포스팅 된 글의 질적 내용을 보면 피앙새님이 훨씬 더 퀄리티가 높은걸요 -,.-;

저도 글을 좀 맛깔나게 쓸수 있었으면 좋겠는데 잘 안되요~
From. tohappy 2010/03/10 00:07
답글달기삭제
자료 찾다가 정리내용보고 도움이 많이 되었습니다.
마지막에 사용할 mysql 버전에
ln -s /usr/local/mysql-5.0.67 /usr/local/mysql
를 이야기 하셨는데..요 변경없이

4.0과 5.0 데몬 두개가 실행된 상태에서
/usr/local/mysql50/bin]# ./mysql -u root -P 3350 -p >> 50으로 접속
/usr/local/mysql40/bin]# ./mysql -u root -P 3340 -p >> 40으로 접속
으로 생각했는데, 기존에 4.0 데몬이 먼저 시작되어 인지, 40으로만 접속이 됩니다.

어떻게 하면 명시적으로 50 또는 40에 접속할 수 있나요?

------------------------------------
[root@server5-118 bin]# ./mysql -u root -p --port=3350
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 417
Server version: 4.0.27-log
PREV : [1] : NEXT
 
 
 
 
: [1] ... [502][503][504][505][506][507][508][509][510] ... [1323] :
«   2024/12   »
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        
전체 (1323)
출판 준비 (0)
My-Pro... (41)
사는 ... (933)
블로그... (22)
My Lib... (32)
게임 ... (23)
개발관... (3)
Smart ... (1)
Delphi (93)
C Builder (0)
Object... (0)
VC, MF... (10)
Window... (1)
Open API (3)
Visual... (0)
Java, JSP (2)
ASP.NET (0)
PHP (6)
Database (12)
리눅스 (29)
Windows (25)
Device... (1)
Embedded (1)
게임 ... (0)
Web Se... (2)
Web, S... (21)
잡다한... (7)
프로젝트 (0)
Personal (0)
대통령... (13)
Link (2)