2013. 8. 6. 12:37ㆍOS/리눅스
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 |