[펌[Mysql-데이터베이스 설치(utf-8 설정) Posted on 2008년 10월 7일 by akakk@koolkuri.com — No Comments ↓ 윈도우 자바개발환경을 위한 기본적인 Mysql 5 설치방법입니다. 목차 데이터베이스 설치 Mysql 환경설정 – 한글개발환경(euckr)일 경우 Mysql 환경설정 – 다국어 개발환경(utf-8)일 경우 1. 데이터베이스 설치 설치 버전 : 5.0.37 (2007.04.10 현재 최신 버전) 다운로드 URL : http://dev.mysql.com/downloads/mysql/5.0.html#win32 Without installer (unzip in C:) : mysql-noinstall-5.0.37-win32.zip (45.6M) 를 선택해서 다운로드 받는다. 개인 취향이겠지만 필자는 인스톨 버전은 싫어함. 또한, 필자는 개발환경은 하드드라이브가 C, D로 나눠서 있을 경우 D 드라이브에 설치한다. 가끔씩 윈도우를 재설치 할 경우를 대비해서. mysql-noinstall-5.0.37-win32.zip 를 풀면 mysql-5.0.37-win32 폴더가 생긴다. mysql-5.0.37로 이름변경해서 아래와 같이 설치하자. 설치 예) 설치디렉토리 : D:devmysql-5.0.37 윈도우 시스템환경변수 설정 Path : D:devmysql-5.0.37bin; 추가 윈도우 서비스로 설정 도스프롬프트 : D:devmysql-5.0.37bin> mysqld –install ( 서비스 제거는 mysqld –remvoe ) 제어판 – 관리도구 – 서비스를 통해 Mysql 서비스 시작 도스 프롬프트에서 C:/>mysql -uroot 로 접속되면 설치 성공. 2. Mysql 환경설정 – 한글개발환경(euckr)일 경우 my.ini 설정 C:Windows 밑에 my.ini 파일 생성 [mysql] default-character-set = euckr [mysqld] character-set-client-handshake=FALSE init_connect=“SET collation_connection = euckr_korean_ci” init_connect=“SET NAMES euckr” default-character-set = euckr character-set-server = euckr collation-server = euckr_korean_ci [client] default-character-set = euckr [mysqldump] default-character-set = euckr [mysql] default-character-set = euckr [mysqld] character-set-client-handshake=FALSE init_connect=”SET collation_connection = euckr_korean_ci” init_connect=”SET NAMES euckr” default-character-set = euckr character-set-server = euckr collation-server = euckr_korean_ci [client] default-character-set = euckr [mysqldump] default-character-set = euckr Mysql Restart root 계정으로 mysql 접속후 mysql>status 아래와 같이 나오면 설정 OK. mysql> status ————– mysql Ver 14.12 Distrib 5.0.37, for Win32 (ia32) Connection id: 1 Current database: Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.0.37-community MySQL Community Edition (GPL) Protocol version: 10 Connection: localhost via TCP/IP Server characterset: euckr Db characterset: euckr Client characterset: euckr Conn. characterset: euckr TCP port: 3306 Uptime: 10 sec Threads: 1 Questions: 4 Slow queries: 0 Opens: 12 Flush tables: 1 Open tabl es: 6 Queries per second avg: 0.400 ————– mysql> mysql> status ————– mysql Ver 14.12 Distrib 5.0.37, for Win32 (ia32) Connection id: 1 Current database: Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.0.37-community MySQL Community Edition (GPL) Protocol version: 10 Connection: localhost via TCP/IP Server characterset: euckr Db characterset: euckr Client characterset: euckr Conn. characterset: euckr TCP port: 3306 Uptime: 10 sec Threads: 1 Questions: 4 Slow queries: 0 Opens: 12 Flush tables: 1 Open tabl es: 6 Queries per second avg: 0.400 ————– mysql> root 계정 초기 비밀번호 지정하기 C:>mysql -uroot mysql mysql>update user set password=password(‘새비밀번호’) where user=‘root’; mysql>flush privileges; mysql>exit C:>mysql -uroot -p새비밀번호 C:>mysql -uroot mysql mysql>update user set password=password(‘새비밀번호’) where user=’root’; mysql>flush privileges; mysql>exit C:>mysql -uroot -p새비밀번호 데이터베이스 생성 및 사용자 생성 C:>mysql -uroot -p비밀번호 mysql>CREATE DATABASE myproject_kr DEFAULT CHARACTER SET euckr COLLATE euckr_korean_ci; mysql>GRANT ALL PRIVILEGES ON *.* TO ‘javamaster’@‘localhost’ IDENTIFIED BY ‘1234’ WITH GRANT OPTION; mysql>GRANT ALL PRIVILEGES ON *.* TO ‘javamaster’@‘%’ IDENTIFIED BY ‘1234’ WITH GRANT OPTION; mysql>FLUSH PRIVILEGES; mysql>exit C:>mysql -ujavamaster -p1234 myproject_kr C:>mysql -uroot -p비밀번호 mysql>CREATE DATABASE myproject_kr DEFAULT CHARACTER SET euckr COLLATE euckr_korean_ci; mysql>GRANT ALL PRIVILEGES ON *.* TO ‘javamaster’@’localhost’ IDENTIFIED BY ‘1234’ WITH GRANT OPTION; mysql>GRANT ALL PRIVILEGES ON *.* TO ‘javamaster’@’%’ IDENTIFIED BY ‘1234’ WITH GRANT OPTION; mysql>FLUSH PRIVILEGES; mysql>exit C:>mysql -ujavamaster -p1234 myproject_kr 4라인 : euckr 환경으로 myproject_kr 이라는 데이터베이스 생성6라인 : 아이디 javamaster, 비밀번호 1234로 로컬에서만 접속권한이 있는 사용자 생성8라인 : 아이디 javamaster, 비밀번호 1234로 원격에서도 접속권한이 있는 사용자 생성10라인 : 권한 적용14라인 : 새로 생성한 계정으로 접속 3. Mysql 환경설정 – 다국어 개발환경(utf-8)일 경우 my.ini 설정 C:Windows 밑에 my.ini 파일 생성 [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 [client] default-character-set = utf8 [mysqldump] 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 [client] default-character-set = utf8 [mysqldump] default-character-set = utf8 Mysql Restart root 계정으로 mysql 접속후 mysql>status 아래와 같이 나오면 설정 OK. mysql> status ————– mysql Ver 14.12 Distrib 5.0.37, for Win32 (ia32) Connection id: 1 Current database: Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.0.37-community MySQL Community Edition (GPL) Protocol version: 10 Connection: localhost via TCP/IP Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 Uptime: 10 sec Threads: 1 Questions: 4 Slow queries: 0 Opens: 12 Flush tables: 1 Open tabl es: 6 Queries per second avg: 0.400 ————– mysql> mysql> status ————– mysql Ver 14.12 Distrib 5.0.37, for Win32 (ia32) Connection id: 1 Current database: Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.0.37-community MySQL Community Edition (GPL) Protocol version: 10 Connection: localhost via TCP/IP Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 Uptime: 10 sec Threads: 1 Questions: 4 Slow queries: 0 Opens: 12 Flush tables: 1 Open tabl es: 6 Queries per second avg: 0.400 ————– mysql> root 계정 초기 비밀번호 지정하기 C:>mysql -uroot mysql mysql>update user set password=password(‘새비밀번호’) where user=‘root’; mysql>flush privileges; mysql>exit C:>mysql -uroot -p새비밀번호 C:>mysql -uroot mysql mysql>update user set password=password(‘새비밀번호’) where user=’root’; mysql>flush privileges; mysql>exit C:>mysql -uroot -p새비밀번호 데이터베이스 생성 및 사용자 생성 C:>mysql -uroot -p비밀번호 mysql>CREATE DATABASE myproject_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; mysql>GRANT ALL PRIVILEGES ON *.* TO ‘javamaster’@‘localhost’ IDENTIFIED BY ‘1234’ WITH GRANT OPTION; mysql>GRANT ALL PRIVILEGES ON *.* TO ‘javamaster’@‘%’ IDENTIFIED BY ‘1234’ WITH GRANT OPTION; mysql>FLUSH PRIVILEGES; mysql>exit C:>mysql -ujavamaster -p1234 myproject_utf8 mysql>set names euckr; C:>mysql -uroot -p비밀번호 mysql>CREATE DATABASE myproject_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; mysql>GRANT ALL PRIVILEGES ON *.* TO ‘javamaster’@’localhost’ IDENTIFIED BY ‘1234’ WITH GRANT OPTION; mysql>GRANT ALL PRIVILEGES ON *.* TO ‘javamaster’@’%’ IDENTIFIED BY ‘1234’ WITH GRANT OPTION; mysql>FLUSH PRIVILEGES; mysql>exit C:>mysql -ujavamaster -p1234 myproject_utf8 mysql>set names euckr; 4라인 : euckr 환경으로 myproject_utf8 이라는 데이터베이스 생성6라인 : 아이디 javamaster, 비밀번호 1234로 로컬에서만 접속권한이 있는 사용자 생성8라인 : 아이디 javamaster, 비밀번호 1234로 원격에서도 접속권한이 있는 사용자 생성10라인 : 권한 적용14라인 : 새로 생성한 계정으로 접속16라인 : utf8 환경일 경우 도스프롬프트에서 테이블에 한글문자를 등록(insert)하거나 한글을 조회(select)시 깨져보임. set names euckr; 로 설정을 바꾸면 한글이 제대로 보임(Mysql 5일 경우)출처 : http://www.javamaster.org/