리눅스마스터1급 : MySQL 설치
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,821 조회
- 0 추천
- 목록
본문
리눅스마스터1급 : MySQL 설치
MySQL은 데이터 관리를 효율적으로 하기 위해 사용하는 DBMS중 하나이다.
MySQL은 빠르고 강력한 DBMS를 목표로 개발되어 왔다.
예전 버전에는 DBMS가 갖추어야 할 기본적인 기능도 없이 단지 빠른 DBMS를 목표로 하였지만, 5.X 버전부터는 내장함수 등 다양한 기능을 가지게 되었다.
리눅스에서 구축되는 서버 환경이 APM이라고 할 만큼 Apache와 PHP, MySQL을 많이 사용된다.
MySQL은 2가지 라이선스 정책이 있으며, 상업용과 커뮤니티 라이선스가 있다.
여기서 설치하는 라이선스는 커뮤니티 라이선스 소스코드를 다운로드하여 설치한다.
① 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 5월 4 07:29 ccmake -rwxr-xr-x 1 root root 8628156 5월 4 07:29 cmake -rwxr-xr-x 1 root root 9159791 5월 4 07:30 cpack -rwxr-xr-x 1 root root 10537755 5월 4 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 설치
컴파일이 완료된 MySQL을 cmake 과정에서 정의한 디렉토리에 설치해 주는 과정이다.
|
|
|
| [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 계정 생성 및 소유권 변경
MySQL은 mysql 사용자를 생성하여 설치된 프로그램의 모든 권한을 mysql 사용자로 설정한다.
|
|
|
| [root@SULinux-64Bit mysql]# useradd -d /usr/local/mysql mysql [root@SULinux-64Bit mysql]# chown mysql:mysql -R /usr/local/mysql/ |
|
|
|
|
⑨ MySQL 시스템 DB 생성
MySQL의 mysql 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 -------------- 생략 -------------- |
|
|
|
|
관련자료
-
이전
-
다음