MYSQL 서버 설치
  • MySQL Community Server가 오픈소스로 무료이므로 이를 다운로드 한다.
  • "Windows MSI Installer (x86)"를 선택하여 다운로드를 시작 한다.
JDK 6.0 다운로드


  • 다운로드한 설치 프로그램(mysql-5.1.34-win32.msi)을 실행한다.


  • Setup Type을 Custom으로 선택한다.
라이선스 확인


  • "Change.." 버튼을 눌러 설치할 디렉토리를 설정 한다.
  • MySQL의 설치 디렉토리와 MySQL의 Data가 저장될 디렉토리를 설정 한다.
설치 디렉토리 확인


  • 등록된 정보를 확인하고 설치한다.
설치


  • MySQL에서 제공하는 기본 정보를 확인한다.
설치 정보


  • MySQL에서 제공하는 기본 정보를 계속 확인한다.
설치 정보


  • "Configure the MySQL Server now"를 체크하여 설치 후 바로 서버 설정을 진행한다.
환경 설정 선택
  • MySQL 서버 환경 설정은 $MYSQL_HOME/bin/MySQLInstanceConfig.exe 파일을 관리자 권한으로 실행하여 설정이 가능 하다.


[편집] MySQL 서버 환경 설정

  • MySQL 서버 환경 설정은 $MYSQL_HOME/bin/MySQLInstanceConfig.exe 파일을 관리자 권한으로 실행하여 설정이 가능 하다.


  • MySQL에서 제공하는 정보를 확인한다.
환경 설정


  • "Detailed Configuration"을 선택한다.
상세 설정


  • "Server Machine"을 선택한다.
서버 선택


  • 트랜잭션 처리를 위해 "Transactional Database Only"를 선택한다.
트랜잭션


  • 테이블을 저장할 테이블 스페이스의 위치를 선택한다.
테이블 스페이스


  • "Decision Support (DSS)/OLAP"을 선택한다.
OLAP


  • 사용할 Port를 지정한다. 디폴트로 3306 port를 사용한다.
  • "Add firewall exception for this port" 링크를 선택하여 방화벽에서 3306 포트를 연다.
포트 설정


  • "Best Support For Multilingualism"을 선택하여 다중 언어 지원을 하도록 한다.
언어 설정


  • 윈도우의 서비스로써 등록한다.
서비스


  • MySQL의 root 사용자의 암호를 설정한다.
암호 설정


  • MySQL의 환경 설정을 실행한다.
환경 설정 실행
  • "could not start the service mysql.error 0" 오류가 발생할 경우
  • Windows 레지스트리 편집기(regedit)에서 MySQL 관련 정보를 삭제한 후 재 설치 한다.
  • 이지클린 프로그램 등을 사용하여 레지스트리를 청소하는 것도 좋은 방법 이다.
  • Vista에서 Apply Security Setting에서 보안 오류로 1045번 오류가 발생할 경우
  • MySQL의 root 암호가 재대로 설정이 되지 않았을 경우에 이런 오류가 발생할 수 있으므로, $MYSQL_HOME/bin 폴더에서 "mysqladmin -u root -p password 새_암호" 명령을 실행하여 암호를 설정 한다.
  • 비스타에 MySQL 설치하기에서 MySQLInstanceConfig.exe 파일을 받아 $MYSQL_HOME/bin 에 복사 한다.
  • MySQLInstanceConfig.exe 파일을 관리자 권한으로 실행하여 MySQL의 서버 환경 설정을 완료 한다.


  • MySQL의 환경 설정을 완료한다.
환경 설정 완료


[편집] MySQL의 추가 환경 설정

  • MySQL 설치 후 사용하기 위해서 필요한 환경을 설정한다.
    • PATH=d:/OpenBiz/31_application/MySQL5051/bin (기존 PATH에 추가)
  • 다중 언어를 지원하기 위해서 UTF-8 charset을 설정한다.
  • MySQL이 설치된 홈디렉토리에 있는 my-medium.ini 파일을 복사하여 my.ini 파일을 생성한다.
  • my.ini 파일에 아래 사항을 추가 또는 수정한다.
[client]    
default-character-set=utf8  

[mysql]   
default-character-set=utf8

[mysqld]   
character-set-client-handshake=FALSE  
init_connect="SET collation_connection=utf8_general_ci"  
init_connect="SET NAMES utf8"  
default-character-set=utf8  
character-set-server=utf8  
collation-server=utf8_general_ci  

[mysqldump]    
default-character-set=utf8

[편집] MySQL Tools for 5.0 설치


[편집] Linux용 설치 가이드

Ubuntu Server 8.10에서 MySQL을 설치 한다.

  • MySQL Server 설치
  • Ubuntu에 root로 로그인한다.
  • sudo apt-get install mysql-server
  • 중간에 mysql DB의 root 사용자 암호를 물어 보면 입력해 준다.
  • sudo apt-get install libapache2-mod-auth-mysql php5-mysql
  • 서비스 확인 : ps -ef | grep mysql
  • 설치 정보
  • 설치 폴더 :
  • 환경 폴더 : /etc/mysql/, /usr/share/mysql/
  • 데이터 폴더 : /var/lib/mysql
  • 기동 종료 : /etc/init.d/mysql start, stop, restart, reload, status
  • 서비스 확인 : ps -ef | grep mysql
  • 로그 정보 : /var/log/mysql/mysql-slow.log

[편집] 사용자 가이드

[편집] MySQL 시작 및 종료

  • MySQL을 시작/종료하는 방법
"시작" 메뉴에서 "설정" 메뉴를 선택한 후 "제어판"을 선택한다.
"관리 도구"를 더블 클릭한 후 "서비스"를 더블 클릭한다.
시작 종료
MySQL을 선택한 후 오른쪽 마우스를 클릭하여 MySQL을시작하거나 중지(종료)할 수 있다.


  • MySQL 시작 스크립트를 만들어 사용하면 편리 합니다. (start_mysql.cmd)
cd 31_application/MySQL5051/bin
mysqld --console --max_allowed_packet=32M
  • MySQL 종료 스크립트를 만들어 사용하면 편리 합니다. (stop_mysql.cmd)
cd 31_application/MySQL5051/bin
mysqladmin -u root -p shutdown

[편집] 관리자 가이드

[편집] DB Schema와 사용자 추가 설정

  • MySQL에 TestAppl에서 사용할 Schmea를 등록한다.
  • MySQL Administrator에 root 관리자로 로그인 한다.
  • 좌측 상단 창에서 "Catalogs"를 선택한다.
  • 좌측 하단의 "Schemata" 창에서 우측 마우스를 누른다.
  • "Create New Schema" 메뉴를 선택하여 Schema를 생성한다.
  • Schema 생성화면에서 "Schema name"으로 "testappldb"를 입력한다.
DB Schema 등록


  • MySQL에 TestAppl에서 사용할 사용자를 등록한다.
  • 좌측 상단 창에서 "User Administration"을 선택한다.
  • 좌측 하단의 "Users Accounts" 창에서 우측 마우스를 누른다.
  • "Add new user" 메뉴를 선택하여 사용자를 생성한다.
  • "User Information" 탭에서 "MySQL User"("testappl"), "Password", "Confirm Password" 등을 등록한다.
DB 사용자 등록


  • MySQL에 TestAppl에서 사용할 사용자의 권한을 설정한다.
  • "Schema Privileges" 탭에서 사용자가 사용할 Schema("testappldb")를 선택한다.
  • "Available Privileges"의 모든 권한을 "Assigned Privileges"로 이동한다.
  • "Apply changes" 버튼을 눌려 등록된 정보를 저장한다.
권한 부여


  • MySQL Query Browser에 접속한다.
  • 상단의 "Tools" 메뉴에서 "MySQL Query Browser" 메뉴를 선택한다.
Query Browser 접속


  • 사용자의 MySQL 데이터베이스 접속 정보를 추가한다.
  • 우측의 "Schemata" 탭에서 "mysql"을 더블 클릭하여 선택한다.
  • grant all privileges on testappldb.* to testappl@localhost identified by '암호'; (사용자에게 Schmea에 대한 권한을 추가)
  • flush privileges; (위 명령을 통해 설정한 권한을 데이터베이스에 반영)
  • select host, user, password from user order by user, host; (사용자의 접속 정보 확인)
접속 정보 추가
  • MySQL Query Browser가 아니라 DOS 창에서 접속 정보를 추가하는 방법
mysql -uroot -pxxx mysql
    grant all privileges on testappldb.* 
        to testappl@localhost identified by '암호';
    flush privileges;
    select host, user, password from user order by user, host;
    exit



[편집] 백업 및 복구

  • Binary 파일 백업, 전체 DB 백업
  • $MYSQL_HOME/my.ini에서 datadir에 지정된 디렉토리를 통채로 백업한다.
  • Binary 파일 백업, DB 별 백업
  • $MYSQL_HOME/my.ini에서 datadir에 지정된 디렉토리에 데이터베이스별로 폴더가 만들어져 있다.
  • 해당 데이터베이스에 해당하는 폴더를 통째로 백업한다.
  • 저장 방식이 MYISAM가 아니라 INNODB인 경우 인덱스는 별도로 백업을 하여야 한다. (아직 방법은 모름)


  • mysqldump 명령어를 통한 전체 DB 백업 및 복구
  • 백업 : mysqldump --user=root --password=암호 --all-databases > AllDatabaseBackup.sql
  • 복구 : mysql --user=root --password=암호 < AllDatabaseBackup.sql
  • mysqldump 명령어를 통한 DB별 백업 및 복구
  • 백업 : mysqldump --user=아이디 --password=암호 DB명 > DatabaseBackup.sql
  • 복구 : mysql --user=아이디 --password=암호 -D DB명 < DatabaseBackup.sql
  • mysqldump 명령어를 통한 DB별 Table별 백업 및 복구
  • 백업 : mysqldump --user=아이디 --password=암호 DB명 Table명 > DatabaseTableBackup.sql
  • 복구 : mysql --user=아이디 --password=암호 -D DB명 < DatabaseTableBackup.sql

[편집] 모니터링 및 튜닝

  • 참고 문헌

[편집] 데이터 등록 오류 in PHP

  • PHP 버전 4.x와 달리 PHP 버전 5.x에서는 숫자 항목에 빈문자열을 등록할 때 오류가 발생한다. 따라서, 숫자 항목에는 반드시 숫자를 등록하여야 한다.
  • MySQL의 $MYSQL_HOME/my.ini 설정 파일의 sql-mode에서 NO_AUTO_CREATE_USER 항목을 제거하면, PHP 프로그램을 수정하지 않더라도 오류가 발생하지 않는다.

[편집] 참고 문헌

+ Recent posts