728x90
반응형
서비스 중에 index를 추가해야 하는 경우가 생기는데
percona의 pt-online-schema-change 를 통해 락 없이 추가할 수 있다.
$ brew install percona-toolkit
$ pt-online-schema-change \
--user=<유저> \
--password="<비번>" \
--host=<host> \
P=<port>,D=<db>,t=<table> \
--charset=utf8 \
--no-version-check \
--execute \
--max-load Threads_running=25 \
--alter "ADD INDEX <인덱스명> (<칼럼명>, <칼럼명>)"
pt-online-schema-change \
--alter "ADD INDEX test (test)" \
D=test_db,t=test_table,P=10001 \
--host=127.0.0.1 \
--user=testuser \
--password="test\!" \
--charset=utf8 \
--chunk-size=1000 \
--no-version-check \
--max-load Threads_running=25 \
--no-drop-old-table \
--execute
비밀번호 ! 앞에 \ 넣어준 이유는 터미널에서 히스토리를 확인하는 명령어라 이스케이프를 위한 특수문자 \ 를 해줘야 한다.
명령어를 실행해주고 테이블을 확인해보면
_test_table_new
가 생기며 작업을 하고
완료가 되면
_test_table_old
가 생성된다
--no-drop-old-table
이거 빼주면 완료 후 삭제
그 외에도 컬럼 추가, unique key 추가 등등 있으니 필요한건 찾아보도록 하자
728x90
반응형
'개발 > PERCONA' 카테고리의 다른 글
PERCONA 사용기 (0) | 2020.06.11 |
---|