설치 환경 및 버전
|
OS |
Fedora12 |
|
Apache2.2 |
httpd-2.2.13-4.fc12.i686 |
|
php 5.2.12 |
소스설치 5.2.12 |
|
mysql |
5.0.90 |
mysql 5.x 사용하면서 unicorn보드를 사용하려고 하면서
unicorn보드가 UTF8을 미지원하면서 euc-kr로 운영할 mysql을
하나더 설치할일이 생겨서 설치하게 되었습니다
기존에 mysql은 RPM으로 설치되어있었고 소스설치로
하나더 설치 할것입니다 모든작업은 root로 할 것 입니다
먼저 /etc/my.cnf 파일을 옴겨 높습니다 저는 rpm mysql 이 설치되어있기에 /var/lib/mysql 로 옴겨놓겠습니다
# mv /etc/my.cnf /var/lib/mysql/
다운받고 압축풀기
# wget ftp://mirror.khlug.org/mysql/Downloads/MySQL-5.0/mysql-5.0.90.tar.gz
# tar zxvf mysql-5.0.90.tar.gz
디렉토리로 이동후
# ./configure --prefix=/usr/local/mysql2 --localstatedir=/usr/local/mysql2/data --with-charset=euckr --enable-assembler --without-debug --enable-thread-safe-client --with-mysqld-user="mysql2" --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-readline --sysconfdir=/usr/local/mysql2
# make
# make install
mysql 데이터베이스 생성
# /usr/local/mysql2/bin/mysql_install_db
공유라이브러리 설정파일에 mysql라이브러리 경로를 추가
/etc/ld.so.conf 파일에 아래내용을 추가한후
/usr/local/mysql2/lib
# ldconfig <-- 실행
유저를 생성합니다
# useradd -M -d /usr/local/mysql2 -s /sbin/nologin mysql2
소유권을 지정합니다
# chown -R root:mysql2 /usr/local/mysql2/
# chown -R mysql2:mysql2 /usr/local/mysql2/data/
mysql에서 사용할 환경 설정파일을 복사 합니다 시스템에 따라 다르니 아래를 참조합니다
my-huge.cnf 1GB 이상 메모리
my-large.cnf 512MB ~ 1GB
my-medium.cnf 128MB ~ 256MB
my-small.cnf 64MB 이하
테스트 시스템은 메모리가 683MB임으로 my-large.cnf 를 이용합니다
my2.cnt을 복사 합니다
# cp /usr/local/mysql2/share/mysql/my-large.cnf /usr/local/mysql2/my.cnf
그리고 my.cnt 을 열어서 포트를 변경합니다
저는 3306에서 3307 로 변경하고 socket도 변경하겠습니다
[client]
#password = your_password
port = 3307
socket = /tmp/mysql2.sock
[mysqld]
port = 3307
socket = /tmp/mysql2.sock
저장하고 나와서
mysql 데몬을 띄웁니다
# /usr/local/mysql2/bin/mysqld_safe &
ps -ef | grep mysql 로 확인해보면 아래와 같이 mysql2 계정으로 떠잇는걸 확인할수 있습니다
root 3945 1 0
mysql 4118 3945 0
mysql2 4175 4152 0
root 비밀번호를 지정하겠습니다
# /usr/local/mysql2/bin/mysql mysql
mysql> update user set password=password('비밀번호') where user='root';
mysql> flush privileges;
원래 목적인 euc-kr용 mysql을 설치했으니 케리터셋을 확인해보면
mysql> show variables like "c%";

euc-kr이 제대로 설정되어있는걸 확인할수 있네요
기존에 phpmyadmin 을 사용하고 있다면 하나도 설치해서
포트번호를 달리해도 상관없고
기존의 phpmyadmin에 추가하여 사용할수 있습니다
아래는 추가하여 사용하는 방법입니다
중요한건 이렇게 사용하려면 auth_type을 cookie을 사용해야합니다
첫번재 에 맨윗줄에 $i++; 이 없으니 써주고 $cfg['Servers'][$i]['verbose'] = '이름지정'; 이부분을 추가합니다
$i++;
/* Authentication type */
$cfg['Servers'][$i]['verbose'] = 'mysql5-1';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
두번째 새로설치한부분인데 포트번호 다르게 지정해주시고
verbose 이름달리지정해주세요
socket 도 달리해주셔야 합니다
$i++;
$cfg['Servers'][$i]['verbose'] = 'mysql5-2'; <-구분하는 이름
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '3307';
$cfg['Servers'][$i]['socket'] = '/tmp/mysql2.sock';
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
저장하고 띄워보면 아래와 같이 서버를 선택할수 있습니다

만약 소스로 기존에 설치된 상태에서 또하나 설치하는
거라면 /etc/my.cnf 파일을 꼭 기존 mysql 의 data
디렉토리로 옴겨 놓으시기 바랍니다
/etc에 my.cnf파일이 있으면 전역적으로 적용되기에 여러
mysql 운영하려면 꼭 옴겨주시기 바랍니다
파이어폭스에 최적화 되어있습니다
이 포스트가 유용하셨다면 구독하세요
mysql2개로운영.pdf



0