Mysql 소스설치

2013. 8. 6. 12:37OS/리눅스

반응형

mysql은 cmake가 아닌 configure를 사용할 것이므로 5.4 이하버전을 추천

wget명령어로 위에 명시해둔 파일경로에서 mysql 다운...

 

#wget ftp://ftp.linux.co.kr/mysql/mysql-5.1.32.tar.gz

 

다운을 완료하면 mysql-5.1.32.tar.gz 파일이 생성된다

 

tar명령어를 이용, 압축을 해제한다.

 

#tar xvzf 파일명.tar.gz

 

압축을 해제하면 mysql-5.1.32 디렉토리가 생성된다.

 

디렉토리로 이동하기전에 mysql계정을 추가해준다.

 

#useradd -M -s /bin/false mysql

 

-M : 홈디렉토리 생성하지 않음.

-s : 로그인쉘 지정. /bin/false 로 지정하면 사용할 쉘을 지정하지 않음.

/bin/false 와 /sbin/nologin/ 의 차이점

/bin/false 는 로그인은 허용하지만 쉘이나 홈디렉토리 제공하지 않음.

/sbin/nologin/ 은 계정 비활성화

 

계정을 추가해주는 이유는 데이터베이스 전용 계정을 따로 두어서 데이터베이스를 관리하기 위함이다.

root계정에서는 데이터베이스를 관리할수 없다. (시스템계정이라고도 한다.)

 

#cd mysql-5.1.32

 

mysql 디렉토리로 이동

 

configure를 이용하여 설치한다

 

#./configure --prefix=/usr/local/server/mysql --with-charset=utf8 --with-extra-charsets=all --enable-thread-safe-client

 

옵션에 대해 설명을 하자면

 

--prefix=*** : 컴파일후 관련된 파일들이 설치되는 디렉토리를 지정.

--with-charset=utf8 : charset을 utf8로 지정 (charset = 문자인코딩 utf8 = 전세계의 모든 문자들을 한꺼번에 인코딩)

--with-extra-charsets=all : 추가 charset지정.

--enable-thread-safe-client : 쓰레드 지원

 

만약 ./configure *** 명령어를 입력했을 때

cheking for termcap functions library... configure: error: no curses/termcap library found (termcap 라이브러리를 찾을수 없음.)

라는 에러가 뜰시

일단 termcap. libtermcap. libtermcap-devel 이 설치 되어있는지 확인.

 

#rpm -qa | grep termcap

#rpm -qa | grep libtermcap

 

#yum install libtermcap-devel

 

을 입력하면 termcap라이브러리가 설치된다.

 

#make && make install

 

을 입력하여 설치 마무리

 

make && make install 까지 진행하였다면 환경설정파일을 복사한다.

 

my-huge.cnf : 메모리 1G - 2G

my-large.cnf : 메모리 512M

my-medium.cnf : 메모리 64 - 256M

my-small.cnf : 메모리 64M 이하

(현재 vmware로 구동중인 머신의 경우 512M이므로 my-large.cnf를 복사)

 

#cp support-files/my-large.cnf /etc/my.cnf

 

명령어를 입력하면

cp: overwrite '/etc/my.cnf'?

 

라는 글이뜰수도 있다.

my-large.cnf파일을 덮어 씌울것인지 묻는 것이기 때문에 y를 입력해준다.

 

다음 작업으로 기본 DB를 생성한다

 

#cd /usr/local/server/mysql

#bin/mysql_install_db --user=mysql

 

--skip-federated 라는 에러가 발생할 경우 my.cnf 파일의 skip-federated 라인을(/skip-federated 로 찾음) 삭제하거나 주석처리하고 다시실행한다.

 

다음으로 디렉토리 권한을 설정해 준다.

 

#chown -R root .

#chown -R mysql var

#chown -R mysql .

 

환경변수를 등록해준다

 

#vi ~/.bash_profile

로 들어가서

 

PATH=$PATH:$HOME/BIN 을

PATH=$PATH:$HOME/bin:/usr/local/server/mysql/bin

(bin다음에 넣어주는 경로는 설치한 경로 안에 있는 디렉토리이다)

으로 수정 후 재부팅 혹은

 

#source ~/.bash_profile 을 입력해준다.

 

이제 자동실행을 설정해준다.

 

#cp share/mysql/mysql.server /etc/init.d/mysqld

이때도 overwrite?가 나올수 있는데 y를 입력

 

#chkcondif --add mysqld

#chkconfig --list | grep mysqld

 

이제 설치가 완료 되었다 mysql을 실행시켜보자

 

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

라는 에러 문구가 뜰 수도 있다. 이때에는 mysql데몬이 시작되지 않아 소켓 파일이 생성되지 않았다는 뜻이니

 

#/etc/init.d/mysqld start

를 입력 후 다시 mysql을 입력하면 접속이 된다.

 

mysql의 암호를 설정해야한다.

 

#mysql -u root

를 입력 하고

 

>set password=password("패스워드");

>flush privileges;

>exit

로 나온후

 

mysql 재시작

 

#/etc/init.d/mysqld restart

 

#mysql -u root -p를 입력하고 아까 설정한 패스워드를 넣으면 접속이 된다.

 

그냥 mysql을 입력하게 되면

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

이러한 에러가 뜬다.

 

반드시 mysql -u root -p를 입력하자.

 

만약 비밀번호를 분실하였을 경우

 

#/etc/init.d/mysqld stop

#mysqld_safe --skip-grant &

#mysql

>use mysql;

>update user set password=password('새로운 비밀번호‘) where user='root';

>flush privileges;

반응형

'OS > 리눅스' 카테고리의 다른 글

Apache ssl 설정  (0) 2013.08.06
Apache 소스설치  (0) 2013.08.06
apm 설치 전 작업  (0) 2013.08.06
history 삭제  (0) 2013.08.06
iptables 설정  (0) 2013.08.06