Mongo DB 커맨드

기본

백업과 복원

링크

Elasticsearch 1.0.0 설치와 사용방법

Elasticsearch와 관련해서 참고할 만한 내용을 기록했다. 오래된 프로젝트를 다시 세팅하면서 썼고, Elasticsearch 버전은 1.0.0이다.

설치하기

우선 Elasticsearch 다운로드 페이지에서 파일을 다운로드 받는다.

기본

Query String Query

Query String Query 관련 공식페이지

쿼리 문자열은 단어와 연산자의 연속으로 이뤄진다.

기본 형태는 다음과 같다. QUERY_STRING_SYNTAX라고 되어 있는 부분에 쿼리를 사용할 수 있다.

Query String 문법 기본:

이런식으로 복잡한 쿼리도 사용할 수 있다.

allow_leading_wildcard 옵션은 *이나 ?를 첫 번째 문자로 허용여부를 설정할 수 있다. 기본값은 True다. 정규식에서는 이 옵션의 영향을 받지 않는다. 다음과 같은 쿼리는 Elasticsearch가 인덱스의 모든 단어를 강제로 찾게한다.

analyze_wildcard 옵션은 기본적으로 검색어에 있는 와일드카드를 분석하지 않는다. 세팅을 true로 하면 와일드카드를 분석하려고 최대한 노력하게 된다.

토큰화와 관련해서 검색시 주의할 점

예를들어 다음과 같은 데이터가 있다.

f_name이 AcroRd32라는 단어와 VV11.0.14.16VV라는 단어가 모두 포함된 경우를 찾으려고 했다. 그래서 이런식으로 검색하면 될 줄 알았다.

안된다. 표준 토크나이저로 토큰화되므로 필드의 본래의 텍스트에 검색을 하는 것이 아니라 토큰화된 단어를 검색한다. 따라서 다른 토크나이저로 변경할 필요가 있다.

스냅샷과 스냅샷을 통한 복원

공식 페이지 문서

스냅샷 저장소를 만들고, 현재 상태를 스냅샷해서, 저장소 디렉토리에 보관이 되고, 이것을 다른 클러스터에서 복원할 수 있다.

Reroute

위에서 다른 클러스터로 복원했을 때, 리플리케이션과 샤드 세팅이 다르면 Unassigned 상태가 된다. 이런 경우 Unassigned 상태를 정상적인 상태로 만들고 싶을 때 reroute를 사용한다. reroute 커맨드는 클러스터가 reroute 할당 명령을 실행하도록 해준다.

스냅샷 했던 서버의 상태:

  • replication : 5
  • shard : 2

복원 할 서버 상태:

  • replication : 0
  • shard : 1

index를 만들지 않은 상태에서 복원해서 그럴 수도 있는데, 그건 테스트 하지 않았다.

Centos 6.7에 MySQL 5.5.27 버전 소스 설치 방법

Centos 6.7에서 MySQL 5.5.27 버전을 소스 설치하는 과정이다.

우선 MySQL Community Server (Archived Versions) 페이지에서 5.5.27 파일을 다운로드 받아서 설치하려는 서버에 업로드한다.

필요한 패키지 설치하기:

사전 작업:

MySQL 빌드, 설치하기:

이미 다른 버전의 mysql이 있는 상태라서 경로를 따로 지정해서 설치했다.

설치 후 작업:

설정파일 수정:

my.cnf:

이미 mysql이 설치되어 있어서 포트를 33067로 지정했다.

mysql 데몬 실행:

이렇게 시작할 수도 있고, 뒤에서 다루는 서비스 스크립트로 만들 수도 있다.

루트 비밀번호 지정:

서비스 스크립트 수정:

기본 서비스 스크립트 파일은 디렉토리 설정이 약간 달라서 수정이 필요하다. 다음 네 부분을 찾아서 수정한다. (앞 단어로 검색, basedir, datadir, lock_file_path, mysqld_safe)

데몬을 시작한다.

이제 33067 포트를 사용해서 mysql을 사용할 수 있다.

MySQL 자주 사용하는 쿼리 모음과 관리 팁

그동안 MySQL을 사용하면서 자주 사용했던 쿼리를 정리했다.

모니터링

Lock

  • READ Lock : 락을 명시적으로 사용한 세션과 모든 세션에서 insert, update, delete가 불가능하고 select만 가능
  • WRITE Lock : 락을 명시적으로 사용한 세션에서의 쓰레드만 read, wrtite가 가능.
 

 

설정

파티션

사용자 추가

View

Trigger

Event

이벤트가 활성화되었는지 확인하고, 활성화하는 방법이다.

위 방법은 임시적인 방법이라서 설정 파일을 수정해야 한다.

my.ini:

이벤트를 생성해서 주기적으로 쿼리나 프로시저를 실행할 수 있다.

기타 SQL

Inno DB 확인

disabled일 경우 설정파일을 변경해서 innodb를 활성화할 수 있다.

my.cnf

바이너리 로그 지우는 방법

설정파일에서 보관기간을 지정할 수 있다.

my.cnf: