MYSQL 설치 및 설정 아이티즌 기술연구소 김태성 연구원 2008.12.02
MYSQL 다운로드-1 http://www.mysql.com 에서 다운로드 http://www.mysql.com 에서 다운로드 오른쪽 메뉴에서 ‘Downloads’ -> ‘MySQL Database’ 선택
MYSQL 다운로드-2 MySQL 5.0 인 것을 확인 후 오른쪽 메뉴에서 ‘Source Downloads’ 클릭
MYSQL 다운로드-3 Tarball(tar.gz) -> Pick a mirror 클릭
MYSQL 다운로드-4 MySQL 만 다운로드 하면 되므로 “No thanks, just take me to the downloads!” 클릭
MYSQL 다운로드-5 여러 mirror 사이트 중에서 한국사이트에서 다운로드 용량이 20메가 가까이 되므로 3곳 중에서 빠른 곳에서 다운로드 다운로드 시 확장자가 “tar.gz” 가 아닌 “tar.tar”로 변경되면 다운로드 받은 후에 임의로 “tar.gz”로 확장자 변경 다운로드 받은 후 적당한 디렉토리에 복사 (/tmp, /usr/local/src 등)
MYSQL 다운로드-6 - 웹브라우저 사용이 불가능 한 경우 – 다른 PC를 이용해서 프로그램을 다운로드 받은 후에 솔라리스의 기본 FTP 서버를 이용해서 업로드 솔라리스의 기본 FTP를 설치하지 않은 경우에는 파일을 다운로드 받을 디렉토리로 이동을 한 후에 “wget ‘경로명’ “ 을 이용해서 다운로드 예 : # cd /usr/local/src # wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.15.tar.gz/from/http://mysql.new21.com/
MYSQL 압축해제 gzip –dc ‘파일명’ | tar xf - 이용 압축해제 후 해당 디렉토리로 이동 ※리눅스 : tar –xzvf ‘파일명’
MYSQL 설치 전 설정 Configure 이용해서 소스버전을 설치하기 전에 설치 경로 등 설정 Prefix => MySQL이 설치 될 경로 localstatedir => DB가 저장될 경로 with-mysql-user => MySQL 사용할 사용자 지정 with-charset => 언어설정 (euckr = 한국어) Configure 과정 끝나면 ‘make’ 명령어로 컴파일, ‘make install’ 명령어로 설치 3개의 과정 오류 없이 끝나면 설치 완료(설치에 시간 오래 걸림)
설정과 컴파일 # ./configure --prefix=/usr/local/mysql \ --localstatedir=/usr/local/mysql/data \ --sysconfdir=/etc \ --with-mysql-user=mysql \ --with-charset=euckr ;make; make install
MYSQL DB 생성-1
MYSQL DB 생성-2 MySQL의 데이터베이스 date 디렉토리를 생성하기 위해서 “mysql_install_db” 실행해 줘야 함. MySQL 설치 완료 후에 “/usr/local/mysql/bin” 으로 이동 “./mysql_install_db” 실행 에러 없이 실행이 완료되면 “/usr/local/mysql/data” 디렉토리가 생성되고, 그 안에 mysql DB 디렉토리와 파일들이 생성됨 “mysql_install_db”는 MySQL 설치 후 한번만 실행해주면 됨
초기 DB 생성 # /usr/local/mysql/bin/mysql_install_db
MYSQL 라이브러리 위치 지정 MySQL이 구동될 때 mysql 라이브러리를 이용하므로, 라이브러리 위치를 지정해 주어서 MySQL이 라이브러리를 사용할 수 있도록 지정해 줘야 함. crle -c /var/ld/ld.config -l /usr/lib: ‘라이브러리 위치’ ※ 리눅스에서 라이브러리 위치 지정하는 방법 # cat >> /etc/ld.so.conf /usr/local/mysql/lib/mysql ^d # ldconfig
라이브러리 위치 지정 # vi /etc/ld.so.conf "/usr/local/mysql/lib/mysql" -> 입력 # ldconfig
MYSQL 설정 파일 복사 ‘/usr/local/mysql/share/mysql’ 에 있는 설정 파일 /etc 디렉토리에 복사 ※ 설정 파일 종류에 따른 선택 my-huge.cnf : 메모리가 1G-2G 사이일 때 사용 my-large.cnf : 512M my-medium.cnf : 64~256M my-small.cnf : 64M 보다 작을 때 보통 medium으로 설정하면 됨 (오류 등 생기면 자신의 램 크기에 따라 적절히 설정)
설정 파일 복사 # cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
MYSQL 계정 생성 및 소유권 지정 groupadd -> 그룹 생성 useradd -> 사용자 생성 chown : 화일 및 디렉토리의 소유주(owner) 변경 chgrp : 화일 및 디렉토리의 그룹(group) 변경 ※리눅스에서 소유권 지정 chown root.mysql –R /usr/local/mysql chown mysql.mysql –R /usr/local/mysql/data
계정 생성 # groupadd mysql # useradd -g mysql mysql
소유권 지정 # chown root.mysql –R /usr/local/mysql # chown mysql.mysql –R /usr/local/mysql/data
MYSQL 구동 ‘/usr/local/mysql/bin’ 으로 이동 ‘./mysqld_safe --old-passwords &’ => MySQL 구동 ‘--old-passwords’ => 예전 버전의 DB 자료 사용 가능 하도록(암호화 방식에 따른 차이…) ‘&’ => 백그라운드 모드로 실행 ps 명령어로 구동 중인 것을 확인 가능
실행 # /usr/local/mysql/bin/mysqld_safe --old-passwords &
기본 DB 생성 # /usr/local/mysql/bin/mysql mysql
루트계정 비밀번호 생성 mysql> use mysql mysql> update user set password=password('test') where user='root'; mysql> flush privileges;
DB 생성 mysql> create database zboard; mysql> insert into user (host, user, password) values ('localhost', 'zboard', password('test')); mysql> insert db values ('%', 'zboard', 'zboard', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y'); mysql> exit
MySQL 로그인 # /usr/local/mysql/bin/mysqladmin -p reload Enter password:
서버 부팅시 실행 설정 # vi /etc/rc.d/rc.local /usr/local/mysql/bin/mysqld_safe & -> 입력