BLOG main image
분류 전체보기 (313)
교육 (13)
NEIS (6)
Edufine (0)
Programmer (5)
Android Programming (1)
Internet W3 (18)
JAVA Programming (9)
JSP/Servlet (1)
Framework (7)
Spring For Beginner (4)
eGovFrame (10)
MEAN Stack (2)
NodeJS (5)
SublimeText (30)
SublimeText_Tips (18)
Eclipse (16)
JavaScript (8)
jQuery (12)
jQuery_tips (1)
Ajax (3)
DWR(Direct Web Remote) (4)
JSON(JS Object Notation) (4)
Oracle (2)
MySQL (28)
OS (16)
Download (3)
Life (10)
Favorit Site (1)
Books (2)
Healthy (1)
Stocks (1)
HTML5/CSS (1)
Python (4)
Security (7)
CISSP (0)
Ruby On Rails (5)
일기장 (0)
영어 교과서(중2) (3)
알고리즘 (0)
Go Lang (3)
VB 2010 (12)
C# (1)
정보보안기사(네트워크보안) (0)
업무 활용 엑셀 (11)
틈틈이 활용팁 (14)
하루 하루 살아가며 ……. (2)
기술 (1)
파이썬 & 데이터분석 (1)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
2015. 7. 22. 11:58

개발자들에게 있어서 자신의 컴퓨터에 프로그램 개발환경을 맞추는 것은 가장 기본적이고, 가장 중요하다고 할 수 있을 것입니다. 하지만 생각보다 쉽지 않죠? 왜냐하면 설치해야 하는 프로그램마다, 진행하고자 하는 프로젝트마다 설치해야 할 프로그램의 종류나 버전, 셋팅방법 등이 다양하기 때문일 것입니다. 하지만 하나씩 설치해보고 내용을 잘 정리해나간다면 나중에 금방 하실 수 있을것입니다.


여기서는 Window 환경에서 MySQL을 설치하는 방법에 대해서 안내하겠습니다.


[OS종류 / 설치할 MySQL 버전]

OS : Window 8.0 (64bit)

MySQL : MySQL 5.6.14


[목차]

1. MySQL 다운로드

2. 압축해제

3. 환경변수 등록

4. my-default.ini 파일을 이용한 my.ini 파일 생성

5. Window 서비스 등록, MySQL 기동 및 접속 테스트

6. Root 계정설정



[1. MySQL 다운로드]

먼저 아래 URL에 접속하시면 [그림 1-1 MySQL 홈페이지] 를 보실 수 있습니다. 여기서 상단에 "Downloads (GA)" 탭을 클릭합니다.


접속 URL : http://dev.mysql.com/

 

 

[그림 1-1 MySQL 홈페이지]


그 다음 아래 [그림 1-2 MySQL 홈페이지]에서 좌측 Left 메뉴에서 "MySQL Community Server" 를 클릭합니다. 다른 제품군에 대해서는 돈을 주고 구매를 해야 하거나, MySQL과 연관된 프로그램을 개발할 때 필요한 다른 프로그램이나 라이브러리입니다. 개발목적으로 Database를 설치하고자 할 경우에는 MySQL Community Server를 선택하셔야 합니다.

 

 

[그림 1-2 MySQL 홈페이지]


[그림 1-3 MySQL 다운로드]는 [그림 1-2 MySQL 홈페이지]에서 MySQL Community Server를 클릭했을 때 나타나는 화면의 하단 부분입니다. 하단 부분에 보시면 아래 그림 1-3과 같이 MySQL을 다운로드할 수 있는 화면을 볼 수 있습니다.

 

 

[그림 1-3 MySQL 다운로드]


Window 환경에 설치할 MySQL은 크게 두 가지로 나누어집니다. Window 설치마법사(Window Installer MSI)를 통한 설치와 ZIP 파일을 압축해제하여 설치하는 것이 바로 그것입니다.


저는 ZIP 파일 압축해제하여 설치하는 방법을 선택하겠습니다. 따라서 "Windows (x86, 64-bit), ZIP" 을 다운로드 받겠습니다.


[2. 압축해제]

저는 압축해제를 통해 MySQL을 설치하도록 하겠습니다. 아래 [그림 2-1 C드라이브에 MySQL 설치]와 같이 설치하고자 하는 위치에 다운로드 받은 MySQL ZIP 파일을 압축해제 합니다. 저는 C드라이브에 압축해제하였습니다.

 

 

[그림 2-1 C드라이브에 MySQL 설치]


[3. 환경변수 등록]

이제 환경변수를 등록할 차례입니다. 환경변수를 등록하는 이유는 Window의 커맨드 창에서 명령어를 입력하여 MySQL을 실행하거나 접속하는 등 MySQL을 다루기 위함입니다. 환경변수를 등록하지 않는다면 MySQL을 실행하거나 접속하기 위해서 MySQL이 설치된 경로에 매번 접근해야 합니다. (dir, cd 명령어로 매번 찾아서 들어간다면 번거롭겠죠?)


아래 [그림 3-1 제어판의 시스템 창]에서 "고급 시스템 설정"을 클릭합니다.

 

 

[그림 3-1 제어판의 시스템 창]


위와 같이 "고급 시스템 설정"을 클릭하면 아래 [그림 3-2 시스템 속성 창]을 보실 수 있습니다. 여기서 "환경 변수(N)"을 클릭합니다.

 

 

[그림 3-2 시스템 속성 창]


[그림 3-3 환경변수]와 같이 팝업이 뜨는 것을 볼 수 있습니다. 여기서 "새로 만들기(W)"를 클릭합니다. 새로운 환경변수를 등록할 것입니다.

 

 

[그림 3-3 환경변수]

[그림 3-3 환경변수]에서 "새로 만들기(W)"를 클릭하시면 아래 [그림 3-4 새 시스템 변수 입력창]을 보실 수 있습니다.

 

 

[그림 3-4 새 시스템 변수 입력창]

여기서 변수이름과 변수 값은 아래와 같이 입력합니다.


변수이름 : MYSQL_HOME

변수 값 : MySQL이 설치된 경로


ex)

변수이름 : MYSQL_HOME

변수 값 : C:\mysql-5.6.14-winx64


변수이름은 정해진 것이 아닙니다. 따라서 다른 이름으로 설정하셔도 상관없습니다. 본인이 기억하기 쉽고, MySQL 이라는 것을 알기 쉬운 이름으로 설정하시면 됩니다.


환경변수를 등록하시면 아래 [그림 3-5 환경변수 등록]과 같이 MYSQL_HOME이라는 환경변수가 등록된 것을 볼 수 있습니다.

 

 

[그림 3-5 환경변수 등록]


아직 끝이 아닙니다! 이 변수를 Path에 등록하셔야 합니다. 그래야 Command 창에서 MySQL을 직접적으로 다루실 수 있습니다. 아래 [그림 3-6 Path 변수 편집]과 같이 "Path" 라는 변수를 찾아서 선택하신 후 편집을 클릭합니다.

 

 

[그림 3-6 Path 변수 편집]

 

그 다음 Path 변수의 변수 값 뒤에 [그림 3-7 Path 변수값에 MYSQL_HOME 변수 삽입]과 같이 ";%MYSQL_HOME%\bin;"을 삽입합니다.

 

 

[그림 3-7 Path 변수값에 MYSQL_HOME 변수 삽입]


%MYSQL_HOME% 은 아까 그림 3-5에서 등록한 환경변수에 접근하기 위한 것으로 %MYSQL_HOME% 은 "C:\mysql-5.6.14-winx64" 와 같은 의미가 됩니다. 따라서 %MYSQL_HOME%\bin은 C:\mysql-5.6.14-winx64\bin 와 같다고 보시면 됩니다. 그리고 세미클론(;)은 여러 개의 경로를 구분하기 위한 구분자 기호로 사용됩니다.


※ 즉 지금까지 한 작업은 Command 창에서 C:\mysql-5.6.14-winx64\bin 경로에 한번에 접근하기 위한 작업인 것입니다.


위 작업을 모두 마치면 [그림 3-8 Command 창에서 확인]과 같이 "C:\mysql-5.6.14-winx64\bin"가 보이는 것을 알 수 있습니다.

 

 

[그림 3-8 Command 창에서 확인]


[4. my-default.ini 파일을 이용한 my.ini 파일 생성]

이제는 my.ini 파일을 생성할 차례입니다. my.ini 파일의 역할은 MySQL이 처음 기동시 사용할 Port라던가 데이터가 저장될 경로 등을 설정하는 파일이라고 보시면 되겠습니다.


이 파일을 생성하는 방법을 지금부터 소개하겠습니다.


my.ini 파일을 생성하기 위해서 MySQL에서 my-default.ini 파일을 제공합니다. 이 파일은 my.ini 파일을 만들기 위한 샘플이라고 보시면 되겠습니다. 이 파일은 [그림 4-1 my-default.ini 파일]와 같이 MySQL을 설치한 디렉토리에 존재합니다.

 

 

[그림 4-1 my-default.ini 파일]


my-default.ini 파일을 에디트 플러스나 울트라 에디터, 메모장 같은 텍스트 편집기로 열어서 보시면 [그림 4-2 my-default.ini 파일의 내용]와 같은 화면을 보실 수 있습니다. 여기서 basedir, datadir, port 항목을 주석 해제하고 내용을 작성해야 합니다.

 

 

[그림 4-2 my-default.ini 파일의 내용]


basedir, datadir, port 항목에 대해서 간단히 설명을 드리면 아래와 같습니다.


- basedir : MySQL이 설치된 경로

- datadir : DB Data가 저장될 Storage 경로 (여러분이 사용하는 데이터가 여기에 저장된다고 생각하시면 이해가 쉽습니다.)

- port : MySQL이 사용할 Port 번호 (일반적으로 3306 포트를 이용합니다.)


datadir의 경우 생략해도 됩니다. 만약 생략하게 되면 MySQL이 설치된 디렉토리에서 data 라는 디렉토리를 datadir로 자동으로 설정하기 때문입니다. (ex C:\mysql-5.6.14-winx64\data)


위 내용을 기반으로 아래와 같이 작성하시고 my.ini 파일로 저장하시면 됩니다.


- basedir = C:/mysql-5.6.14-winx64/

- datadir = C:/mysql-5.6.14-winx64/data/ (저는 생략하지 않고 명시적으로 설정했습니다.)

- port = 3306


※ 경험상 디렉토리의 경로를 구분하는 기호는 윈도우 환경일지라도 가능하면 역슬레쉬(\)가 아닌 슬레쉬(/)로 입력하시는 것이 더 좋습니다. 그 이유는 몇몇 프로그램이 역슬레쉬(\) 기호를 escape 문자로 처리하면서 오류가 발생하는 것을 보았기 때문입니다. MySQL에서는 이러한 문제가 일어날 것 같지는 않지만 슬레쉬 기호로 작성해도 문제가 없으므로 여기서는 슬레쉬(/) 기호를 사용합니다.


위 내용대로 작성하시면 [그림 4-3 my.ini 파일 작성]과 같은 화면을 보실 수 있습니다.

 

 

[그림 4-3 my.ini 파일 작성]


[5. Window 서비스 등록, MySQL 기동 및 접속 테스트]

이제는 my.ini 파일을 생성하였으므로 MySQL을 기동할 차례입니다. 간혹 MySQL을 기동하지 않고 MySQL이 접속이 되지 않는다는 분들이 계십니다. MySQL을 기동하지 않고 접속하려 하신다면 아래와 같이 [그림 5-1 접속실패 화면]을 보실 수 있습니다.


MySQL을 기동하지 않은 상태에서 Command 창에서 mysql 이라는 명령어 입력시 Can't connect to MySQL server on 'localhost' (10061) 에러를 보실 수 있습니다. 꼭 MySQL을 기동부터 하셔야 합니다.

 

 

[그림 5-1 접속실패 화면]

[그림 5-3 MySQL을 Window Service에 등록하기] 처럼 윈도우에 서비스를 등록합니다. 단, 주의하셔야 할 점이 "관리자 권한으로 실행"을 통해서 Command 창을 실행시켜야 합니다. 간혹 [그림 5-2 MySQL Window Service 등록실패]와 같이 권한문제로 서비스가 등록이 되지 않을 수 있기 때문입니다.


Command 창에서 아래와 같은 명령어를 입력하시면 됩니다.


- Window에 MySQL을 서비스로 등록시 : mysqld --install

- Window에 등록된 MySQL 서비스를 삭제시 : mysqld --remove


※ 여기서는 "mysqld --install" 을 입력합니다.

 

 

[그림 5-2 MySQL Window Service 등록실패]


위와 같이 실패할 경우 Command 창을 관리자 권한으로 실행해주세요. 아래 그램과 같이 "Service successfully installed."가 출력되면 서비스 등록이 성공한 것입니다.

 

 

[그림 5-4 Window 서비스 창]


이렇게 하시면 Window 부팅 시 자동으로 MySQL이 기동됩니다. 만약 자동으로 기동되는 것을 원치 않으시면 "자동"을 "수동"으로 변경하시면 됩니다. (MySQL 항목 우클릭 -> 속성 -> 시작유형을 자동에서 수동으로 변경)


이제 MySQL을 기동시켜 보겠습니다. Command 창에서 아래 명령어를 입력하세요. 그러면 [그림 5-5 MySQL 기동]을 보실 수 있습니다.


MySQL 기동명령어 : net start mysql

MySQL 중지명령어 : net stop mysql


※ 주의) 여기서도 Command 창을 관리자 권한으로 실행하셔야 합니다.

 

 

[그림 5-5 MySQL 기동]


이제 MySQL에 접속하겠습니다. 아래 명령어를 Command 창에 입력하시면 MySQL에 접속됩니다. 접속한 화면은 [그림 5-6 MySQL 접속]과 같이 출력됩니다.


[MySQL 접속 명령어]

1. mysql -u계정 -p 입력 후 비밀번호 입력

2. mysql -u계정 -p비밀번호


저는 위에서 1번으로 접속하겠습니다. 따라서 Command 창에 "mysql -uroot -p"을 입력합니다.

 

 

[그림 5-6 MySQL 접속]


접속하시면서 아시겠지만 초기에 root 계정에 대해서 비밀번호가 설정되어 있지 않습니다. 따라서 비밀번호를 입력하지 않고 그냥 엔터를 누르시면 바로 MySQL에 접속이 됩니다.


따라서 처음에 접속하시면 root 계정에 비밀번호를 설정하셔야 합니다.

 

[6. Root 계정 설정]

계정에 대해서 설정할 수 있는 항목은 각종 권한과 비밀번호 등이 여러 가지가 있을 수 있습니다. 여기서는 간단하게 root 계정에 대한 비밀번호를 설정하는 방법에 대해서 안내합니다.


MySQL에 접속하셔서 "mysql" 이라는 Database에 접속해야 합니다. mysql이라는 데이터베이스에 사용자 계정에 대한 정보가 있기 때문입니다. 아래와 같이 명령어를 입력하면 [그림 6-1 Database 목록보기]와 같이 Database 목록을 보실 수 있습니다.


[Database 목록보기]

show databases;

 

 

[그림 6-1 Database 목록보기]


여기서 mysql 이라는 항목이 보이실겁니다. 바로 mysql 이라는 이 Database에 접근해야 합니다. 아래 명령어를 입력하시면 해당 Database에 접근하게 됩니다.


DB 선택 쿼리문 : use Database 이름;


ex) use mysql;


위 쿼리문을 실행하시면 아래 [그림 6-2 Database 선택]와 같은 화면대로 Database changed 라는 메시지가 출력됩니다.


[그림 6-2 Database 선택]


그 다음 show tables; 라는 쿼리를 입력하시면 현재 선택한 Database의 Table 목록들을 보실 수 있습니다. 여기서 저희는 user 테이블의 내용을 수정할 것입니다. user 테이블에 root 계정을 포함한 사용자 계정의 정보가 있기 때문입니다.


show tables; 쿼리를 실행하시면 [그림 6-3 mysql Database의 테이블 목록]와 같은 화면이 출력됩니다.

 

 

[그림 6-3 mysql Database의 테이블 목록]

 

user 테이블에 어떤 내용이 있는지 살펴보겠습니다. user 테이블에는 해당 계정이 MySQL에 접속가능한 IP주소(host)와 계정명(user), 비밀번호(password) 그리고 각종 권한 등이 저장되어 있습니다. 여기서 저희는 비밀번호가 어떻게 설정되어 있는지 확인하기 위해서 [그림 6-4 MySQL 계정 정보 조회]와 같이 아래 쿼리문을 실행합니다.


실행할 쿼리문 : select host, user, password from user;

 

[그림 6-4 MySQL 계정 정보 조회]


위 내용을 보시면 아시겠지만 현재 root 계정이 있고, 비밀번호는 설정되어 있지 않은 상태입니다. 따라서 쿼리문과 password() 함수를 통해서 user 테이블에 비밀번호를 설정하셔야 합니다. 아래 쿼리문을 실행합니다.


비밀번호 변경 쿼리문 : update user set password = password('변경할 비밀번호') where user = '변경할 계정 아이디';


ex)

update user set password = password('root') where user = 'root';


위 쿼리문은 root 라는 계정의 비밀번호를 root 라는 비밀번호로 설정하겠다는 의미입니다. 또한 password() 함수는 비밀번호를 평문데이터로 저장하지 않고, 암호화된 문자열로 비밀번호를 저장하기 위한 함수입니다. 위 쿼리문을 실행시키면 아래 [그림 6-5 MySQL 계정 비밀번호 변경]과 같은 화면을 보실 수 있습니다.

 

 

[그림 6-5 MySQL 계정 비밀번호 변경]


이제 다시 user 테이블을 조회하면 [그림 6-6 비밀번호 변경 후 MySQL 계정 정보 조회]와 같이 password 컬럼에 비밀번호가 암호화 되어 저장된 것을 볼 수 있습니다.

 

 

[그림 6-6 비밀번호 변경 후 MySQL 계정 정보 조회]


여기서 끝이 아닙니다. 위와 같이 user 테이블의 내용을 수정하였더라도 아직 위 내용이 적용이 된 것은 아닙니다. 아래 쿼리문을 실행해야 비로소 수정된 내용이 적용됩니다.


실행할 쿼리문 : flush privileges;


위 쿼리문을 실행시키면 아래 [그림 6-7 변경된 사용자 정보 MySQL에 적용]과 같은 화면을 보실 수 있습니다.

 

 

[그림 6-7 변경된 사용자 정보 MySQL에 적용]


이제 다시 로그인을 해보면, 이전과 같이 비밀번호를 입력하지 않아서 [그림 6-8 비밀번호 변경 후 로그인 실패]와 같이 로그인이 되지 않는 것을 볼 수 있습니다. 영어로 출력된 메시지의 내용은 "root 계정에 접근이 허용되지 않았다."는 의미인데요, 입력한 비밀번호가 틀려서 그렇습니다.

 

 

[그림 6-8 비밀번호 변경 후 로그인 실패]


이번엔 위에서 설정했던 비밀번호를 입력하여 로그인 해보겠습니다. 위에서 제가 root 계정에 root 라는 비밀번호로 설정했었는데요, 아래 [그림 6-9 비밀번호 변경 후 로그인 성공]을 보시면 정상적으로 로그인이 되는 것을 볼 수 있습니다.

 

[그림 6-9 비밀번호 변경 후 로그인 성공]


이제 작업은 끝났습니다. MySQL 다운로드부터 설치, root 계정 설정까지 모두 마쳤습니다. 화면캡처가 들어갔기 때문에 생각보다 긴 글이 되었지만 이런 화면캡처와 설명으로 많은 분들께 도움이 되었으면 좋겠습니다.


그리고 MySQL 설치하는 방법은 이 글 말고도 더 좋은 글은 얼마든지 많이 있으니 다른 블로그의 글도 참고하시기 바랍니다. 실제로 설치하시다 보면 환경적인 차이에 의해 장애가 발생할 수 있고, 위에서 설명한 내용과 다른 부분이 있을 수 있기 때문입니다.


긴 글 읽어주셔서 감사합니다.

 

출처 : http://blog.daum.net/bang2001/91

반응형