MYSQL 서버 설치
- http://dev.mysql.com/downloads/에서 MySQL 설치 프로그램을 다운로드 한다.
- 다운로드한 설치 프로그램(mysql-5.1.34-win32.msi)을 실행한다.
- Setup Type을 Custom으로 선택한다.
- "Change.." 버튼을 눌러 설치할 디렉토리를 설정 한다.
- 등록된 정보를 확인하고 설치한다.
- MySQL에서 제공하는 기본 정보를 확인한다.
- MySQL에서 제공하는 기본 정보를 계속 확인한다.
- "Configure the MySQL Server now"를 체크하여 설치 후 바로 서버 설정을 진행한다.
[편집] MySQL 서버 환경 설정
- MySQL 서버 환경 설정은 $MYSQL_HOME/bin/MySQLInstanceConfig.exe 파일을 관리자 권한으로 실행하여 설정이 가능 하다.
- MySQL에서 제공하는 정보를 확인한다.
- "Detailed Configuration"을 선택한다.
- "Server Machine"을 선택한다.
- 트랜잭션 처리를 위해 "Transactional Database Only"를 선택한다.
- 테이블을 저장할 테이블 스페이스의 위치를 선택한다.
- "Decision Support (DSS)/OLAP"을 선택한다.
- 사용할 Port를 지정한다. 디폴트로 3306 port를 사용한다.
- "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 설치
- 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"를 입력한다.
- MySQL에 TestAppl에서 사용할 사용자를 등록한다.
-
- 좌측 상단 창에서 "User Administration"을 선택한다.
- 좌측 하단의 "Users Accounts" 창에서 우측 마우스를 누른다.
- "Add new user" 메뉴를 선택하여 사용자를 생성한다.
- "User Information" 탭에서 "MySQL User"("testappl"), "Password", "Confirm Password" 등을 등록한다.
- MySQL에 TestAppl에서 사용할 사용자의 권한을 설정한다.
-
- "Schema Privileges" 탭에서 사용자가 사용할 Schema("testappldb")를 선택한다.
- "Available Privileges"의 모든 권한을 "Assigned Privileges"로 이동한다.
- "Apply changes" 버튼을 눌려 등록된 정보를 저장한다.
- MySQL 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 프로그램을 수정하지 않더라도 오류가 발생하지 않는다.
[편집] 참고 문헌
'Databases' 카테고리의 다른 글
오라클 정시간되면 쿼리 자동실행 (0) | 2009.09.03 |
---|---|
Unix와 Oracle (0) | 2009.09.03 |
Oracle® Database SQL Developer Installation Guide Release 1.2 (0) | 2009.08.17 |
mysqldump 백업 M [출처] mysqldump 백업|작성자 마루아라 (0) | 2009.08.07 |
DB별 JDBC 드라이버 명과 URL 형식 모음 [출처] DB별 JDBC 드라이버 명과 URL 형식 모음|작성자 메멘토 (0) | 2009.07.31 |