| [ CnUnix ] in KIDS 글 쓴 이(By): swhan (foo bar) 날 짜 (Date): 2002년 7월 19일 금요일 오후 03시 09분 44초 제 목(Title): Re: [Q]MySQL DB 백업 방법?? n개를 하나로 모은다.. -.-a DB명 바꾸는게 관건이겠네요. 주변에 제가 권한이 있는 mysql이 없어서 대충 찍어봅니다. 1.일단 데이터 양을 살펴봐야겠는데.. 데이터 양이 수메가 이내고 로컬 넷이라면 풀 백업이 어떨까 합니다. -일단 DB를 lock하고 -data directory를 local에 copy 합니다. -unlock후 -rsync로 remote push후 -remote에 ssh로 update script실행. - backup서버에서는 받은 file의 dbname(directory name? -.-a 주변에 MySQL이 없어서 확인 불가인데 directory이름하고 파일명ㅂ만 바꾸면 db명이 바뀌지 않나요? 아님 말구 )을 바꾸고 - db stop - old files backup - new files push, - db start 2. DB의 ISAM파일들 받은거로 DB명 바꾸는게 어렵다면.. -mysqldump로 통으로 dump, -rsync/scp로 push -ssh로 remote update script실행 - dump된 sql문에서 DB명 일괄 변경. - old data삭제 - dump파일 삽입. @ 위에 둘중에 어니쪽인지는 몰라도 mysqlhotcopy같은 명령도 있네요 :) 3.data양이 많다면.. 통 백업은 네떡 부하가 넘 많이 드니까.. incremental backup을 해야 할텐데.. table별로 script를 짤 순 없죠. - 대신 각 DB를 log mode로 돌립니다.(sql update는 sql문으로 log를 남겨주는 옵션도 있을겁니다. 없음 말구 -.-a : 찾아봤는데 있다는군요) - 이걸 일별로 만들어서(mysql지원이든.. cron으로 돌리든) - rsync로 backup서버로 이전. (scp도 좋지만.. 이건 혹시 하루치를 건너 뛸 가능성도 있으니까. rsync가 더 좋겠네요.) - backup 서버에서 새로운 log파일이 발견되면 - (sed등 script로) db-name수정한 copy본 만들어서 - db update. :) 4.상용 제품으로 incremental backup을 지원하는ㄱ 있긴 한데. 여러 서버의 db를 하나로 모아주는 기능이 있는지는 모르겠군요. :( 5.ABCD시스템의 DB명을 unique하게 쓰도록 모두 수정해두고, replication기능으로 받는 방법 시도 6.replication기능 부분을 좀 수정해서 n개 master를 1개 slave에서 백업하도록 받는 방법도 :p 저는 번호순으로 선호 :) (한두가지는 불가능한 방법일지도 모르지만.. ^^) |