http://redkreuz.tistory.com/136
# useradd -r -g mysql mysql
- 기본 Library 설치 : ncurses, gcc-c++ 설치, bison 등
* Configure 하기 전에 ncurses 를 설치하고 시작하자. (하단 Error 메시지 참고)
- configure 설정
* 만약 openssl 이 Source로 설치하였다면 위와 동일하게 설치하고, 이미 설치된 것(rpm)으로 사용한다면 -DWITH-SSL=system으로 설치하자
- CMAKE 옵션 설명
옵션 | 사용설명 |
-DCMAKE_INSTALL_PREFIX | 설치될 Mysql 디렉토리. 편한대로 하면 됩니다. |
-DWITH_INNOBASE_STORAGE_ENGINE | 사용하고자 하는 스토리지 엔진을 지정하는 옵션입니다. |
-DDEFAULT_CHARSET | 기본 캐릭터셋을 지정합니다. |
-DDEFAULT_COLLATION | 캐릭터 셋의 collation을 지정하는 것입니다. |
-DENABLED_LOCAL_INFILE | SQL파일을 로드하게 해주는 기능을 켭니다. |
-DWITH_mysql-user | Mysql 유저를 지정해 줍니다. |
-DWITH_EXTRA_CHARSETS | 추가로 지원할 언어를 지정합니다. 기본값은 all 입니다. |
-DWITH_SSL | (no, yes, bundled, system) SSL지원여부 입니다. system으로 할 경우에는 시스템에 설치된 SSL library를 이용하게 됩니다. 관련 library가 설치되어 있어야 합니다. |
-DWITH_ZLIB | (bundled, system) system으로 할 경우에는 시스템에 설치된 library를 이용합니다. |
-DWITH_READLINE | (boolean) readline 지원여부입니다. |
* 옵션 설명 : http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
* ncurses Error 메시지
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:85 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:128 (FIND_CURSES)
cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:406 (MYSQL_CHECK_EDITLINE)
-- Configuring incomplete, errors occurred!
See also "/usr/local/src/mysql-5.6.22/CMakeFiles/CMakeOutput.log".
See also "/usr/local/src/mysql-5.6.22/CMakeFiles/CMakeError.log".
* 다음과 같이 해결
* Bison Error 메시지
-- Performing Test HAVE_NO_BUILTIN_MEMCMP
-- Performing Test HAVE_NO_BUILTIN_MEMCMP - Success
-- GTEST_LIBRARIES:gmock;gtest
Warning: Bison executable not found in PATH
-- Library mysqlserver depends on OSLIBS -lpthread;m;rt;dl;crypt
-- CMAKE_BUILD_TYPE: RelWithDebInfo
-- COMPILE_DEFINITIONS: HAVE_CONFIG_H
-- CMAKE_C_FLAGS: -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement
-- CMAKE_CXX_FLAGS: -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter
-- CMAKE_C_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF
-- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/mysql-5.6.22
* 다음과 같이 해결
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/mysql-5.6.22
#
* Configure 중에 found, success 뿐만 아니라 failed, not found 란 메시지도 뜨지만 Configure 는 문제 없이 완료했기 때문에 Mysql 운영하는데 큰 문제는 없는 듯 하다..
(해당 부분을 검색해봐도 나오지 않아서... 확인이 안됨)
3) Mysql 설치
# make && make install - 컴파일 한 후 복사 및 설치
4) 권한 주기
# chown -R mysql /usr/local/mysql-5.6.22
# chgrp -R mysql /usr/local/mysql-5.6.22
5) 권한 설정 및 복사
# cp /usr/local/mysql-5.6.22/support-files/my-default.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y => 이미 파일이 존재하므로 덮어씌우자
6) DB 생성 (실행을 꼭 /mysql 상위 디렉토리에서 하자, /usr/local/mysql-5.6.22/)
# ./scripts/mysql_install_db --user=mysql
* FATAL Error 메시지
=> mysql 상위디렉토레인 /usr/local/mysql-5.6.22 에서 실행하지 않으면 FATAL ERROR가 발생한다.
#
7) DB 시작
=> 해당 내역을 /etc/init.d/mysqld 로 카피해놓으면 다음부터는 service mysqld start 로 mysql을 실행시킬 수 있다.
# vi /etc/init.d/mysqld
basedir=/usr/local/mysql-5.6.22
datadir=/usr/local/mysql-5.6.22/data
=> 빨간색 부분 추가해 준다.
# /usr/local/mysql-5.6.22/bin/mysql -p mysql
Enter password: => 초기 root password 는 없으므로 그냥 ENTER 키로 접속한다.
mysql>
8) Root Password 변경 및 권한주기
mysql> update user set password=password("비번") where user = "root";
mysql> flush privileges;
mysql> GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY '비번' WITH GRANT OPTION;
mysql> flush privileges;
* ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
=> 권한을 주지 않았을때 발생하는 에러
#mysqld_safe --skip-grant & => 권한 없이 접속 가능
# mysql -p mysql
mysql> GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY '비번' WITH GRANT OPTION;
mysql> flush privileges;
* 적용 후 다시 mysql 을 시작해 준다.
# service mysqld restart
9) Path 및 IPtables 설정
* 맨 아랫줄에 다음과 같이 추가한다
MYSQL_HOME=/usr/local/mysql-5.6.22
PATH=$PATH:$MYSQL_HOME/bin
export MYSQL_HOME PATH
MYSQL_HOME=/usr/local/mysql-5.6.22
- 맨 아랫줄에 빨간 부분을 추가하고 저장 한다. 해당 부분을 추가하면 다음부터는 자동으로 mysql 데몬이 올라와 있다.
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/usr/local/httpd-2.4.10/bin/apachectl start
service mysqld start
* Error 발생
# killall mysqld 하고 다시 시작해보자
'linux > APM' 카테고리의 다른 글
mysql 접근 거부 오류 (1) | 2015.11.19 |
---|---|
[linux]apach 설치 도중 에러! (0) | 2015.11.19 |
Mysql cmake 중 오류(수정요함) (0) | 2015.11.19 |
Mysql 소스설치 참고용 2! (0) | 2015.11.19 |
[CentOS 6.5] APM 소스설치 - Mysql 5.6 + httpd 2.4.7 + php 5.5.8 + Tomcat 8.0 (0) | 2015.11.19 |