mysql 5.6 버전 기준입니다.
cmake로 컴파일 하는 버전, 즉 5.5.9 버전부터 최근에 나온 버전(5.7.2) 까지는 거의 동일합니다.

따라서 사용중인 mysql 버전이 5.5버전 이상인 경우는 버전에 크게 신경 안써도 됩니다.

설치시 어떤 옵션을 주어야 할지 몰라서 오신분들은 마지막 부분에 추천 옵션만 보시면 됩니다.


옵션중 "bool"로 표기돼 있는 것은 0(OFF) 또는 1(ON)로 주면 됩니다.
ex)-DENABLED_LOCAL_INFILE=bool 이란 옵션이 있다면
   -DENABLED_LOCAL_INFILE=1(활성화)
   -DENABLED_LOCAL_INFILE=0(비활성화) 입니다. 
   -DENABLED_LOCAL_INFILE 옵션의 기본값은 off 입니다. 따라서 이 옵션을 사용하지 않는다면 안써주면 됩니다. 
    그러나 이 옵션을 활성화 해야 한다면 -DENABLED_LOCAL_INFILE=1 으로 하면 됩니다.

---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
Installation Layout Options

 

-DINSTALL_LAYOUT=name   기본값=standalone
사전 정의 된 설치의 레이아웃을 선택.

standalone = 동일한 레이아웃입니다. tar.gz 형식을 위해 사용. ZIP 패키지
rpm:RPM 패키지와 비슷한 레이아웃.
svr4:Solaris 패키지 레이아웃.
deb:DEB 패키지 레이아웃. 실험(미완성버전?이나 테스트용을 뜻하는듯)

ex)solaris 패키지 레이아웃으로 설치를 원한다면   -DINSTALL_LAYOUT=svr4
솔라리스 레이아웃을 선택하지만 추가로 다른 옵션을 지정하여 개별 구성 요소의 설치 위치를 변경 할수 있다.
예를들면 
shell> cmake . -DINSTALL_LAYOUT=SVR4 -DMYSQL_DATADIR=/var/mysql/data
(레이아웃은 솔라리스패키지용으로 설치하되, mysql datadir는 /var/mysql/data로 지정)


-DCMAKE_INSTALL_PREFIX=dir_name   기본값=/usr/local/mysql
mysql 디렉토리 설치 경로 지정

-DINSTALL_BINDIR=dir_name        기본값=PREFIX/bin
bin 파일

-DINSTALL_DOCDIR=dir_name  기본값=PREFIX/docs
documentaion 파일

-DINSTALL_DOCREADMEDIR=dir_name  기본값=PREFIX
readme 파일

-DINSTALL_INCLUDEDIR=dir_name  기본값=PREFIX/include
header 파일 
 
-DINSTALL_INFODIR=dir_name  기본값=PREFIX/docs 
info 파일

-DINSTALL_LIBDIR=dir_name  기본값=PREFIX/lib
library 파일

-DINSTALL_MANDIR=dir_name  기본값=PREFIX/man
manual page

-DINSTALL_MYSQLSHAREDIR=dir_name 기본값=PREFIX/share
shared data 파일

-DINSTALL_MYSQLTESTDIR=dir_name  기본값=PREFIX/mysql-test
 mysql-test 디렉토리

-DINSTALL_PLUGINDIR=dir_name  기본값=PREFIX/lib/plugin
plugin 디렉토리

-DINSTALL_SBINDIR=dir_name  기본값=PREFIX/bin
mysqld server 파일

-DINSTALL_스크립트DIR=dir_name  기본값=PREFIX/스크립트s
mysql_install_db 디렉토리

-DINSTALL_SHAREDIR=dir_name  기본값=PREFIX/share
aclocal/mysql.m4 파일

-DINSTALL_SQLBENCHDIR=dir_name  기본값=PREFIX
sql-bench 디렉토리

-DINSTALL_SUPPORTFILESDIR=dir_name 기본값=PREFIX/support-files
extra support files 파일

-DMYSQL_DATADIR=dir_name
mysql data디렉토리

-DODBC_INCLUDES=dir_name
ODBC includes 디렉토리

-DODBC_LIB_DIR=dir_name
ODBC library 디렉토리

-DSYSCONFDIR=dir_name
기본 my.cnf의 옵션 파일 디렉토리

--------------------------------------------------------------------
CMAKE_INSTALL_PREFIX 와 MYSQL_DATADIR 옵션을 제외한 나머지 옵션들은 따로 설정할 필요가 없다.
이유는 보시다시피 전부 기본값이 CMAKE_INSTALL_PREFIX 옵션으로 지정해준 경로의 하위 디렉토리이기 때문이다.
MYSQL_DATADIR 는 편한대로 지정해주면 된다.

Installation Layout Options 중에서 알아둬야할 옵션은 -DCMAKE_INSTALL_PREFIX 와 MYSQL_DATADIR 이다.
나머지는 기본값으로 해도 무방하다.

---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
Storage Engine Options

서버에 정적스토리지 엔진 설정

-DWITH_engine_STORAGE_ENGINE=1

ex)
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1

반대로 제외할려면
-DWITHOUT_engine_STORAGE_ENGINE=1

myisam 엔진은 따로 설정할 필요가 없다.

---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
Feature Options

-DCOMPILATION_COMMENT=string
컴파일 환경에 대한 설명 코멘트

-DDEFAULT_CHARSET=charset_name  기본값:latin1
서버의 기본 케릭터셋 설정

-DDEFAULT_COLLATION=collation_name 기본값:latin1_swedish_ci
서버의 기본 콜레이션 설정

-DENABLE_DEBUG_SYNC=bool
서버에 디버깅 동기화 기능을 컴파일하는것으로 , 테스트 및 디버깅을 위해 사용됨.
이 옵션은 기본적으로 활성화 되어 있지만 mysql 설정에서 디버깅이 구성되어 있지 않으면 효과가 없다.
디버깅을 활성화하고 디버깅 동기화를 비활성화하는 경우는 -DENABLE_DEBUG_SYNC=0 옵션을 사용

-DENABLE_DOWNLOADS=bool   기본값:off
어떤 파일을 다운로드할지 여부

-DENABLE_DTRACE=bool
DTrace 프로브의 지원을 포함할지 여부

-DENABLE_GCOV=bool
gcov의 지원을 포함할지 여부 (리눅스에서 가능)

-DENABLE_GPROF=bool    기본값:off
gprof 사용 여부(최적화된 리눅스에서 가능)

-DENABLED_LOCAL_INFILE=bool  기본값:off
LOAD DATA INFILE에 대한 클라이언트 라이브러리에서 LOCAL 기능을 사용할지 여부

-DENABLED_PROFILING=bool  기본값:on
쿼리 프로파일 링 코드를 사용할지 여부   

-DIGNORE_AIO_CHECK=bool   기본값:off
DBUILD_CONFIG=mysql_release옵션을 줬을때 libaio 라이브러리 검사를 무시

-DMYSQL_MAINTAINER_MODE=bool  기본값:off
MySQL의 메인테이너 특정 개발 환경을 사용할지 여부

-DMYSQL_PROJECT_NAME=name  기본값:3306
Windows or Mac OS X 에서만 사용가능

-DMYSQL_TCP_PORT=port_number  기본값:3306
tcp/ip 포트 넘버 설정

-DMYSQL_UNIX_ADDR=file_name  기본값:/tmp/mysql.sock
서버가 소켓 연결을 수신하는 Unix 소켓 파일의 경로.
절대경로로 써주어야 합니다.

-DOPTIMIZER_TRACE=bool
최적화 프로그램 추적을 지원하는지 여부

-DWITH_DEBUG=bool   기본값:Off
디버깅 지원을 포함할지 여부

-DWITH_DEFAULT_COMPILER_OPTIONS=bool 기본값:ON
기본 컴파일러 옵션을 사용할지 여부
-DWITH_DEFAULT_FEATURE_SET=bool  기본값:ON
기본 freature 옵션을 사용할지 여부
위에 두 옵션의 기본 옵션의 위치는 cmake/build_configurations/'compiler' or feature_set.cmake 파일

-DWITH_EXTRA_CHARSETS=name  기본값:all
추가로 지원할 케릭터셋 설정

-DWITH_INNODB_MEMCACHED=bool  기본값:OFF
memcached의 공유 라이브러리를 생성할지 여부(libmemcached.so and innodb_engine.so)

-DWITH_LIBEVENT=string   기본값:bundled
두 libevent 라이브러리 사용

-DWITH_LIBEDIT=bool   기본값:on
bundled libedit 라이브러리를 사용

-DWITH_LIBWRAP=bool   기본값:off
libwrap의 (TCP wrappers) 지원을 포함할지 여부

-DWITH_READLINE=bool   기본값:off
bundled readline 라이브러리를 사용
readline은 오래된 번들로서 5.6.5 버전부터 삭제된 옵션

-DWITH_SSL={ssl_type|path_name}  기본값:no
ssl 지원 여부

-DWITH_UNIXODBC=1   기본값:off
unixodbc사용가능 여부

-DWITH_ZLIB=zlib_type   기본값:system
zlib지원 여부

-DWITHOUT_SERVER=bool   기본값:off
mysqlserver없이 구축할지 여부

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

추천 옵션
 

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DSYSCONFDIR=/free/mysql_data
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=complex
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1

-DMYSQL_USER=mysql

설명
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
mysql 디렉토리 지정.

-DSYSCONFDIR=/free/mysql_data
db디렉토리 지정

-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock
mysql.sock 위치 지정.

-DDEFAULT_CHARSET=utf8
디폴트 케릭터셋 지정

-DDEFAULT_COLLATION=utf8_general_ci
디폴트 콜레이션 지정

-DWITH_EXTRA_CHARSETS=complex
추가 지원할 케릭터셋 all,complex,none 이 있다. all 로 줘도 무방하지만 complex로 줘도 충분합니다.

-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
스토리지 엔진 장착 
(mysql5.6부터는 기본 엔진이 innodb이고, 각 엔진마다 장단점이 있다.설치후 변경 가능)

-DWITH_READLINE=1
readline 사용 가능
이 옵션을 사용하면 원격접속후 mysql에서 한글 타이핑시 한글이 보입니다. 사용하지 않으면 한글이 보이지 않고 그냥 빈 공백으로 보입니다.  그러나 테스트 결과 옵션 적용해도 글자가 안 보입니다. 어차피 이제 곧 없어질 옵션이니 써도 그만 안써도 그만, 크게 신경 쓸 필요없는 옵션입니다.
이 옵션은 5.6.6 부터는 사용되지 않습니다. 이유는 너무 오래된 번들이기 때문.

-DMYSQL_TCP_PORT=3306
mysql 기본 포트 3306

-DENABLED_LOCAL_INFILE=1
local_infile 변수 사용 가능하게끔.
텍스트 파일의 데이터를 특정 테이블에 저장하는 변수.

-DMYSQL_USER=mysql

이 옵션은 공식홈페이지에는 나와있지 않은 옵션입니다. 그러나 mysql 설치하시는 분들중 종종 이 옵션을 넣더군요. 테스트결과 서버에 아무 지장 없으니 넣어도 그만 안넣어도 그만입니다.

mysql사용자를 "mysql"이란 사용자로 하는거겠지요 ?

 

이상 mysql 설치시 옵션에 대해 알아보았습니다.

5.6버전 기준이며 mysql 공식 홈페이지 http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html 참조 하였습니다.

몇몇 옵션들은 기본값이 off로 돼 있어도 설치해보면 on으로 돼있는 경우도 있습니다.
ex)-DENABLED_LOCAL_INFILE=1   //디폴트값은 0ff로서 이옵션을 주지 않으면 off로 돼있어야 하지만 on으로 돼있음

그렇기 때문에 옵션값과 디폴트값이 같더라도 중요한 옵션은 다시한번 적어주었습니다.
ex)-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

서버 환경이나 용도에 따라 변경 하셔야 합니다.

'job > mysql' 카테고리의 다른 글

mysql update replace  (0) 2018.09.03
mysql history 로그 설정  (0) 2018.09.03
mysql select 문  (0) 2018.09.03
mysql 케릭터셋  (0) 2018.09.03
mysql 로그 설정  (0) 2018.09.03

select * from db;

 

디비 나열

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

 

select User, Db from db;

 

db안에 user랑 db열만 나열

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

 

select * from db where User = 'root';

 

db안에 user이름이 root만

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

 

select User from db;

where User like '%ot'

 

db에 ot로 끝나는(root,bot,soot등)것들 User열만 나열

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

'job > mysql' 카테고리의 다른 글

mysql history 로그 설정  (0) 2018.09.03
mysql 컴파일시 옵션 설명  (0) 2018.09.03
mysql 케릭터셋  (0) 2018.09.03
mysql 로그 설정  (0) 2018.09.03
mysql 계정생성등  (0) 2018.09.03
루트킷 확인을 위한 rkhunter 설치 및 사용법
 
루트킷이란 루트권한을 획득한 공격자가 심어놓은 프로그램을 숨기기 위한 목적으로 사용되는 프로그램입니다.

---------------------------------------------------
먼저 rkhunter 설치프로그램을 다운로드 하겠습니다.
 
 

# tar -xvzf rkhunter-1.4.0.tar.gz 

 
 
# cd rkhunter-1.4.0
 
# sh installer.sh  --install
설치 완료
 

설정파일은 /etc/rkhunter.conf
 
 
84번 라인 MAIL-ON-WARNING= 부분은 경고메일을 받을수 있도록 설정하는 라인 빼고는 특별히 만질것은 없습니다.

(수시로 체크하실것 아니면 주석 처리하면 됩니다.)
 
---------------------------------------------------
실행명령어는
# rkhunter --check 
또는 
# rkhunter -c --rwo  // warning메세지,비정상적인 결과만 출력
입니다.
 
시작하기 전에 rkhunter 가 사용할 DB를 생성합니다.
rkhunter --propupd
 
 
rkhunter -c --rwo 명령어로 실행해보겠습니다.
 
 
 
rootkit hunter 스캔 순서는
1.알려진 rootkit 존재 여부
2.알려진 rootkit 관련 파일 존재 여부,백도어 존재 여부, sniffer 로그 존재 여부
3./etc/rc.d/rc.sysint , /etc/xinetd.conf 파일에 의심스런 설정 추가 여부 스캔
4./bin/ps /bin/ls /bin/netstat 등 자주 변조되는 파일의 변조 여부 스캔
5.로드된 모듈 스캔
6.자주 쓰는 백도어 포트 스캔(2001,2006,2128,14856,47107,60922)
7.NIC의 promisc 여부 스캔
8.유저와 그룹 파일의 변조 여부 스캔
9./etc/rc.d/rc.local 및 rc.d/ 디렉토리 이하 여부 스캔
10. /dev내 수상한 파일 스캔
11. 특정 응용 프로그램의 패치 여부 스캔
12. ssh 보안 설정 등 기타 보안 설정 스캔
-------------------------------------------------------------------------
warning 으로 나오는 부분은 변조되었다거나.. 위험도가 높은것이므로 사용자가 따로 설정한게 아니라면
확인하여 삭제 혹은 정상파일로 대체하시면 됩니다.
체크된 내용중 warning 메세지가 출력된 부분을 살펴보겠습니다.
 
 
 
 
 
 
 
 
 
//주석을 해제해주면 yes로 돼있다고 또 경고를 줍니다. 보안상 no로 해놓고 특정 계정으로 수권한을 획득하는게 가장 좋습니다. 
 
 
 
 
 
 
 
이 외에도 수많은 warning 메세지가 있을수 있으니 구글링을 하여 삭제or복원하여 해결하면 됩니다.

----------------------------------------------------------------------------------
기타 명령어
# rkhunter --update // rkhunter 업데이트가 활발하기 때문에 주기적으로 업데이트할것


'job > linux' 카테고리의 다른 글

hp cli(os단) 레이드 잡는법, 삭제하는법  (0) 2018.09.06
대량메일 발송 특정 IP 혹은 계정 찾기  (0) 2018.09.03
컴파일 빠르게 하기  (0) 2018.09.03
메모리덤프  (0) 2018.09.03
lime 포렌식  (0) 2018.09.03

+ Recent posts