database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 27327 게시물 읽기
No. 27327
replication 에서 Master 테이블만 truncate하는 법
작성자
박성원(darkancia)
작성일
2008-01-16 14:04
조회수
2,942

안녕하세요 초짜 DBA입니다. 


다름이 아니라 replciation 에서 테이블을 주기적으로 truncate 한 후 slave에서만 데이터를 모으고 싶은데요..


아무래도 갑작스럽게 용량이 늘어나는 녀석들 때문에 속도도 문제가 있고 해서요


헌데 master에서 테이블을 비우면 그대로 slave에도 삭제가 되잖아요



혹시 다른 방법으로 master의 테이블만 비워주는 방법을 아시면 부탁드립니다. ^^;;






이 글에 대한 댓글이 총 2건 있습니다.

일단 원하는 형태의 처리는 가능합니다. 그러나 마스터가 truncate 되는 statement가 replication 적용이 안되어야 하기때문에 그 시간동안 슬레이브 레플리케이션 쓰레드를 멈춰야합니다.


1) 슬레이브의 replication 쓰레드를 넘춘다.

2) 마스터의 테이블을 truncate 한다.

3) 마스터의 truncate이후 binlog position을 찾는다.. (show master status...)

3) 슬레이브 서버에서 master 서버의 binlog 포지션을 변경한다. (change master ...)

4) 슬레이브 레플리케이션 쓰레드를 다시 시작한다.

김영우님이 2008-01-17 20:07에 작성한 댓글입니다.
이 댓글은 2008-01-17 20:08에 마지막으로 수정되었습니다. Edit

일반적으로 replication 하고자 하는 DB를 지정 하고 사용 하시리라 믿습니다.

굳이 test 디비까지 할 필요는 없으니...


만일 A DB가 replication되고 있다면,

mysql 로긴후 use A로 이동하지 않은 상태나, 혹은 test 디비 - 즉 replication되고 있지 않는 디비- 로 가셔서

truncate table A.table1 을 하시면 로그가 남지 않을 겁니다.


같은 값을 update하는 형태로 한번 테스트 해보시죠...^^

lnx4u님이 2008-01-24 09:51에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
27330데이터베이스를 검색 할 때요
tragic
2008-01-17
2727
27329외래키생성시 에러가 나는데 원인을 못 찾겠습니다. 도와주세요. [1]
궁금이
2008-01-17
2804
27328Multiple Statements with MySQL and JDBC
zican
2008-01-16
5222
27327replication 에서 Master 테이블만 truncate하는 법 [2]
박성원
2008-01-16
2942
27326query timeout설정
dba
2008-01-15
2635
27325프로세서 갯수
김준형
2008-01-15
2857
27324ubuntu mysqldump 한글 문제
김태중
2008-01-15
2749
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다