강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터1급 : MySQL 설치

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: MySQL 설치

 

 

 

 

MySQL은 데이터 관리를 효율적으로 하기 위해 사용하는 DBMS중 하나이다.

 

 

 

MySQL은 빠르고 강력한 DBMS를 목표로 개발되어 왔다.

 

 

 

예전 버전에는 DBMS가 갖추어야 할 기본적인 기능도 없이 단지 빠른 DBMS를 목표로 하였지만, 5.X 버전부터는 내장함수 등 다양한 기능을 가지게 되었다.

 

 

 

리눅스에서 구축되는 서버 환경이 APM이라고 할 만큼 ApachePHP, MySQL을 많이 사용된다.

 

 

 

 

MySQL2가지 라이선스 정책이 있으며, 상업용과 커뮤니티 라이선스가 있다.

 

 

 

여기서 설치하는 라이선스는 커뮤니티 라이선스 소스코드를 다운로드하여 설치한다.

 

 

 

 

 

MySQL 최신 버전 설치를 위한 준비

 

 

MySQL 5.5.x 부터는 설정을 cmake를 사용한다.

 

 

 

5.5.x 이전 버전은 아파치 웹서버 설치와 비슷하게 "configure, make, make install“ 과정으로 설치 한다.

 

 

 

최신 버전의 MySQL을 설치하기 위해 cmake를 먼저 설치 한다.

 

 

 

 

 

wget을 사용한 cmake 소스코드 다운로드

 

 

 

 

 

 

[root@SULinux-64Bit src]# wget http://www.cmake.org/files/v2.8/cmake-2.8.10.tar.gz

--2013-05-04 07:15:52-- http://www.cmake.org/files/v2.8/cmake-2.8.10.tar.gz

Resolving www.cmake.org... 66.194.253.19

Connecting to www.cmake.org|66.194.253.19|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 5766728 (5.5M) [application/x-gzip]

Saving to: `cmake-2.8.10.tar.gz'

 

100%[==========================================================================================>] 5,766,728 913K/s in 7.6s

 

2013-05-04 07:16:00 (742 KB/s) - `cmake-2.8.10.tar.gz' saved [5766728/5766728]

 

 

 

 

 

 

 

소스코드 압축 풀기

 

 

 

 

 

 

[root@SULinux-64Bit src]# tar xvfp cmake-2.8.10.tar.gz

cmake-2.8.10/.gitattributes

cmake-2.8.10/.hooks-config.bash

cmake-2.8.10/bootstrap

cmake-2.8.10/ChangeLog.manual

cmake-2.8.10/ChangeLog.txt

cmake-2.8.10/cmake_uninstall.cmake.in

cmake-2.8.10/CMakeCPack.cmake

cmake-2.8.10/CMakeCPackOptions.cmake.in

cmake-2.8.10/CMakeGraphVizOptions.cmake

------------ 중간 생략 ------------

 

 

 

 

 

 

 

컴파일을 위한 설정

 

 

 

 

 

 

[root@SULinux-64Bit cmake-2.8.10]# ./configure

---------------------------------------------

CMake 2.8.10, Copyright 2000-2011 Kitware, Inc.

Found GNU toolchain

C compiler on this system is: gcc

C++ compiler on this system is: g++

Makefile processor on this system is: gmake

g++ is GNU compiler

g++ has setenv

------------ 중간 생략 ------------

 

 

 

 

 

 

컴파일

 

 

 

 

 

 

[root@SULinux-64Bit cmake-2.8.10]# make -j 16

Scanning dependencies of target cmIML_test

Scanning dependencies of target cmsys_c

Scanning dependencies of target cmzlib

Scanning dependencies of target cmcompress

Scanning dependencies of target cmbzip2

Scanning dependencies of target cmsys

Scanning dependencies of target foo

[ 0%] [ 0%] [ 0%] [ 0%] [ 0%] [ 1%] Scanning dependencies of target cmexpat

[ 2%] [ 2%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/ProcessUNIX.c.o

Building C object Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test.c.o

Building C object Utilities/cmzlib/CMakeFiles/cmzlib.dir/adler32.c.o

Building C object Utilities/cmcompress/CMakeFiles/cmcompress.dir/cmcompress.c.o

Building C object Source/kwsys/CMakeFiles/cmsys.dir/Base64.c.o

Building C object Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_ABI_C.c.o

------------ 중간 생략 ------------

 

 

 

 

 

 

설치

 

 

 

 

 

 

[root@SULinux-64Bit cmake-2.8.10]# make install

[ 1%] Built target cmIML_test

[ 4%] Built target cmsys

[ 4%] Built target cmsysTestDynload

[ 5%] Built target cmsys_c

[ 6%] Built target cmsysTestProcess

[ 6%] Built target cmsysTestSharedForward

------------ 중간 생략 ------------

 

 

 

 

 

 

 

설치 확인

 

 

 

 

 

 

[root@SULinux-64Bit cmake-2.8.10]# ls -l /usr/local/bin/

합계 36284

-rwxr-xr-x 1 root root 8754325 54 07:29 ccmake

-rwxr-xr-x 1 root root 8628156 54 07:29 cmake

-rwxr-xr-x 1 root root 9159791 54 07:30 cpack

-rwxr-xr-x 1 root root 10537755 54 07:30 ctest

 

 

 

 

 

위 결과와 같이 cmake가 설치된 것을 확인할 수 있다.

 

 

 

cmake 가 설치 되었다면 MySQL 최신 버전을 설치 할 수 있다.

 

 

 

 

MySQL 압축 해제

 

 

다운로드 받은 소스코드는 압축된 상태로 배포되며 다음과 같이 압축을 해제 한다.

 

 

 

 

 

 

 

 

 

[root@SULinux-64Bit src]# tar xvfp mysql-5.6.11.tar.gz

mysql-5.6.11/

mysql-5.6.11/VERSION

mysql-5.6.11/mysql-test/

mysql-5.6.11/mysql-test/purify.supp

mysql-5.6.11/mysql-test/suite/

mysql-5.6.11/mysql-test/suite/funcs_1/

mysql-5.6.11/mysql-test/suite/funcs_1/views/

mysql-5.6.11/mysql-test/suite/funcs_1/views/fv_if1.inc

mysql-5.6.11/mysql-test/suite/funcs_1/views/fv_cast.inc

mysql-5.6.11/mysql-test/suite/funcs_1/views/fv1.inc

mysql-5.6.11/mysql-test/suite/funcs_1/views/fv2.inc

mysql-5.6.11/mysql-test/suite/funcs_1/views/func_view.inc

mysql-5.6.11/mysql-test/suite/funcs_1/views/fv_ifnull.inc

mysql-5.6.11/mysql-test/suite/funcs_1/views/views_master.inc

mysql-5.6.11/mysql-test/suite/funcs_1/views/fv_if2.inc

-------------- 생략 --------------

 

 

 

 

 

 

 

소스 디렉토리로 이동

 

 

 

 

 

 

[root@SULinux-64Bit src]# cd mysql-5.6.11

 

 

 

 

 

 

 

컴파일 설치를 하기 위한 설정(cmake로 설정)

 

 

MySQL의 소스코드를 컴파일 설치하기 위해서 리눅스에 설치된 컴파일러, 라이브러리, 설치에 필요한 명령어등을 점검하고, 설정한 옵션에 따라 모듈 설치 여부 및 설치에 필요한 환경을 구성하는 부분이다.

 

 

 

(MySQL 최신 버전은 cmake를 이용한다.)

 

 

 

 

 

 

 

[root@SULinux-64Bit mysql-5.6.11]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_DATADIR=/usr/local/mysql/data

-- Running cmake version 2.8.10

-- The C compiler identification is GNU 4.1.2

-- The CXX compiler identification is GNU 4.1.2

-- Check for working C compiler: /usr/lib64/ccache/cc

-- Check for working C compiler: /usr/lib64/ccache/cc -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Check for working CXX compiler: /usr/lib64/ccache/c++

-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works

-------------- 생략 --------------

 

 

 

 

 

 

 

위와 같이 cmake를 사용하여 설정하였다.

 

 

 

여러 환경변수 및 기본값은 다음 명령을 통해 확인할 수 있다.

 

 

 

 

 

 

 

 

[root@SULinux-64Bit mysql-5.6.11]# cmake -L

-- Running cmake version 2.8.10

-- MySQL 5.6.11

-- Packaging as: mysql-5.6.11-Linux-x86_64

-- HAVE_VISIBILITY_HIDDEN

-- HAVE_VISIBILITY_HIDDEN

-- HAVE_VISIBILITY_HIDDEN

-- Using cmake version 2.8.10

-- Not building NDB

-- Library mysqlclient depends on OSLIBS -lpthread;m;rt;dl

-- Library mysqlserver depends on OSLIBS -lpthread;m;rt;crypt;dl;aio

-- Configuring done

-- Generating done

-- Build files have been written to: /usr/local/src/mysql-5.6.11

-- Cache values

CMAKE_BUILD_TYPE:STRING=RelWithDebInfo

CMAKE_CXX_COMPILER:FILEPATH=/usr/lib64/ccache/c++

CMAKE_C_COMPILER:FILEPATH=/usr/lib64/ccache/cc

CMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql

COMMUNITY_BUILD:BOOL=ON

ENABLED_PROFILING:BOOL=ON

ENABLE_DEBUG_SYNC:BOOL=ON

ENABLE_DOWNLOADS:BOOL=OFF

ENABLE_GCOV:BOOL=OFF

ENABLE_GPROF:BOOL=OFF

ENABLE_MEMCACHED_SASL:BOOL=OFF

ENABLE_MEMCACHED_SASL_PWDB:BOOL=OFF

FEATURE_SET:STRING=community

INSTALL_LAYOUT:STRING=STANDALONE

MYSQL_DATADIR:PATH=/usr/local/mysql/data

MYSQL_MAINTAINER_MODE:BOOL=OFF

OPTIMIZER_TRACE:BOOL=ON

WITH_ARCHIVE_STORAGE_ENGINE:BOOL=ON

WITH_BLACKHOLE_STORAGE_ENGINE:BOOL=ON

WITH_DEBUG:BOOL=OFF

WITH_DEFAULT_COMPILER_OPTIONS:BOOL=ON

WITH_DEFAULT_FEATURE_SET:BOOL=ON

WITH_EMBEDDED_SERVER:BOOL=ON

WITH_EXAMPLE_STORAGE_ENGINE:BOOL=OFF

WITH_EXTRA_CHARSETS:STRING=all

WITH_FEDERATED_STORAGE_ENGINE:BOOL=ON

WITH_INNOBASE_STORAGE_ENGINE:BOOL=ON

WITH_INNODB_MEMCACHED:BOOL=OFF

WITH_LIBEDIT:BOOL=ON

WITH_LIBEVENT:STRING=bundled

WITH_LIBWRAP:BOOL=OFF

WITH_PARTITION_STORAGE_ENGINE:BOOL=ON

WITH_PERFSCHEMA_STORAGE_ENGINE:BOOL=ON

WITH_PIC:BOOL=OFF

WITH_SSL:STRING=bundled

WITH_UNIT_TESTS:BOOL=ON

WITH_VALGRIND:BOOL=OFF

WITH_ZLIB:STRING=bundled

 

 

 

 

 

 

 

 

MySQL 컴파일

 

 

컴파일을 하기위한 컴파일러, 라이브러리, 환경설정이 완료되었다면 다음과 같이 컴파일을 수행한다.

 

 

 

 

 

 

 

 

[root@SULinux-64Bit mysql-5.6.11]# make -j 16

Scanning dependencies of target INFO_BIN

Scanning dependencies of target zlib

[ 0%] [ 0%] Scanning dependencies of target INFO_SRC

Scanning dependencies of target abi_check

[ 0%] [ 0%] Scanning dependencies of target yassl

Building C object zlib/CMakeFiles/zlib.dir/compress.c.o

[ 0%] Building C object zlib/CMakeFiles/zlib.dir/adler32.c.o

Generating help.c

[ 0%] Generating common.h

Building C object zlib/CMakeFiles/zlib.dir/crc32.c.o

[ 0%] Generating help.h

Building C object zlib/CMakeFiles/zlib.dir/deflate.c.o

[ 0%] Generating vi.h

[ 0%] [ 0%] Scanning dependencies of target taocrypt

-------------- 생략 --------------

 

 

 

 

 

 

cmake를 사용하여 설정하게 되면, make과정에서 컴파일 및 설치 진행 상황을 "%"로 보여주며, 구분하기 쉽게 컬러로 출력된다.

 

 

 

 

 

 

 

MySQL 설치

 

 

컴파일이 완료된 MySQLcmake 과정에서 정의한 디렉토리에 설치해 주는 과정이다.

 

 

 

 

 

 

 

 

[root@SULinux-64Bit mysql-5.6.11]# make install

[ 0%] Built target INFO_BIN

[ 0%] Built target INFO_SRC

[ 0%] Built target abi_check

[ 1%] Built target zlib

[ 2%] Built target yassl

[ 4%] Built target taocrypt

[ 7%] Built target edit

[ 10%] Built target strings

[ 17%] Built target mysys

[ 17%] Built target dbug

[ 18%] Built target mysys_ssl

-------------- 생략 --------------

 

 

 

 

 

 

 

MySQL 설치 확인

 

 

설치된 경로는 설정과정에서 정의한 “/usr/local/mysql"이며 다음과 같은 디렉토리가 생성된다.

 

 

 

 

 

 

 

 

 

[root@SULinux-64Bit mysql-5.6.11]# tree -d -L 1 /usr/local/mysql/

/usr/local/mysql/

|-- bin

|-- data

|-- docs

|-- include

|-- lib

|-- man

|-- mysql-test

|-- scripts

|-- share

|-- sql-bench

`-- support-files

 

 

 

 

 

 

 

MySQL 계정 생성 및 소유권 변경

 

 

MySQLmysql 사용자를 생성하여 설치된 프로그램의 모든 권한을 mysql 사용자로 설정한다.

 

 

 

 

 

 

 

 

[root@SULinux-64Bit mysql]# useradd -d /usr/local/mysql mysql

[root@SULinux-64Bit mysql]# chown mysql:mysql -R /usr/local/mysql/

 

 

 

 

 

 

 

MySQL 시스템 DB 생성

 

 

MySQLmysql DB test DB등을 생성하고 관련 테이블을 생성한다.

 

 

 

 

 

 

 

 

 

[root@SULinux-64Bit mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql

Installing MySQL system tables...2013-05-04 09:36:29 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2013-05-04 09:36:29 18146 [Note] InnoDB: The InnoDB memory heap is disabled

2013-05-04 09:36:29 18146 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2013-05-04 09:36:29 18146 [Note] InnoDB: Compressed tables use zlib 1.2.3

2013-05-04 09:36:29 18146 [Note] InnoDB: Using Linux native AIO

2013-05-04 09:36:29 18146 [Note] InnoDB: Not using CPU crc32 instructions

2013-05-04 09:36:29 18146 [Note] InnoDB: Initializing buffer pool, size = 128.0M

-------------- 생략 --------------

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  101 명