/ DATABASE

MySQL 5.7.2 Windows용 ZIP Archive 설치

Introduction

MySQL을 install하지 않고 ZIP Archive를 다운받고 압축 풀어서 사용하는 사용하는 방식에 대한 설명입니다. 기존 5.6버전은 JSON에 대한 지원이 되지 않기 때문에 5.7버전을 대상으로 진행합니다.


MySQL 5.7.2 ZIP Archive Download

MySQL을 다운로드 받기 위해 링크를 눌러 이동합니다.

아래의 그림처럼 다운로드 링크가 보이게 되는데 이 중 Windows (x86, 64-bit), ZIP Archive으로 되어있는 것을 찾아 다운로드 링크를 눌러 다운로드를 받습니다. 링크를 누르면 로그인하거나 회원가입하라는 화면이 나오는데 화면 하단에 보면 그냥 다운로드 할 수 있는 링크가 있습니다.

mysql-download

다운로드가 끝나면 적절한 위치에 압축을 풀어줍니다. 저는 D:/[Tools]/mysql 이라는 폴더로 압축된 내용을 풀었습니다. 해당 폴더 하단에 보면 기본적으로 다음과 같은 폴더와 파일들이 보이게 됩니다.

mysql-folder


MySQL System Database 생성

ZIP Archive 버전은 MySQL을 기동하기 위한 System Database가 제공되지 않기 때문에 기본 System Database부터 생성해야 합니다.

먼저 mysql 폴더 하단에 data라는 폴더를 생성합니다.

그런 다음 관리자 권한으로 command 창을 열고 다음의 명령을 실행합니다. 명령을 실행시키는 폴더는 mysql하단의 bin folder에서 실행합니다.

mysqld --initialize

약간의 시간이 지나면 data 폴더 하단에 필요한 파일들이 생성됩니다.


root 계정 패스워드 변경

root계정의 패스워드를 변경하는 부분입니다. 꼭 필요한건 아니지만 현재 root계정은 패스워드 없이 바로 사용할 수 있기 때문에 보안상 설정하는게 좋습니다.

다음과 같이 mysqld 명령을 이용해 MySQL 서버를 기동시킵니다.

mysqld --console --explicit_defaults_for_timestamp --skip-grant-tables

정상적으로 MySQL 서버가 기동되면 다음과 같은 화면을 보실 수 있습니다.

mysql-daemon-execute

이제 별도의 command창을 열고 다음의 명령을 입력해서 MySQL console에 진입합니다. 정상적으로 수행되면 mysql> 프롬프트가 떨어지게 됩니다.

mysql -u root mysql

이제 다음의 SQL문을 이용해서 root 계정의 패스워드를 갱신합니다. 패스워드를 root1234로 변경한다면 다음과 같이 하시면 됩니다.

update USER set authentication_string=password('root1234') where user='root';

변경이 정상적으로 수행되었으면 다음의 구문을 실행합니다.

flush privileges;

이제 마지막으로 다음과 같은 구문을 실행합니다.

alter user 'root'@'localhost' identified by 'root1234', 'root'@'localhost' password expire never;

이제 exit를 입력해 MySQL console을 빠져나옵니다. 그런다음 다음의 명령을 실행하면 root 계정의 패스워드를 입력하라고 합니다. 아까 설정한 root1234를 입력하면 MySQL console에 정상적으로 진입할 수 있습니다.

mysql -u root -p

MySQL 서버 중지

현재 동작중인 MySQL 서버를 중지시킬려면 command 창에서 다음과 같은 명령을 실행시키시면 됩니다.

mysqladmin -u root -p shutdown

성공적으로 수행되면 실행되고 있던 MySQL 서버의 실행이 중지됩니다.


새로운 사용자 생성 및 권한 부여

이전까지 정상적으로 수행되었다면 현재 MySQL 서버는 기동이 중지되어 있을겁니다.

초기화 작업이 이미 진행되었기 때문에 이제 MySQL 서버를 기동시키기 위해서 다음과 같이 실행하시면 됩니다.

mysqld

새로운 사용자 계정을 생성하기 위해 새로운 command 창을 열어서 root계정으로 MySQL console에 진입합니다.

mysql -u root -p

새로운 사용자를 생성합니다. 아이디는 java, 패스워드 java로 설정해서 생성하도록 하겠습니다. 아래의 두 문장을 실행합니다.

create user java identified by 'java';
create user java@localhost identified by 'java';

이제 데이터가 입력될 새로운 데이터베이스를 하나 생성 합니다. 다음의 명령을 이용해 library라는 이름의 데이터베이스를 생성하겠습니다.

create database library;

mysql-new-user

새로 생성된 library database에 대한 모든 권한을 조금 전에 추가한 java 계정에게 부여하려면 다음과 같이 하시면 됩니다.

grant all privileges on library.* to java;
grant all privileges on library.* to java@localhost;

SQL Script 파일을 이용해 Database 구축

만일 기존에 사용하던 Database에 대한 SQL Script 파일을 가지고 있다면 해당 파일을 이용해 간단하게 데이터베이스를 구축할 수 있습니다.

command 창을 열어서 다음과 같은 명령어로 Script를 실행시켜 데이터베이스를 구축할 수 있습니다.

mysql -u java -p library < SQL_Script_File.sql

End.