2017-11-14 17 views
1

편집 : ServerFault, 잘못된 탭, 미안에 대한이 게시물을 작성해야합니다.Zabbix 업 그레 이드 - 데이터베이스 업그레이드가 실패했습니다

오늘 내 Zabbix Server를 업그레이드하려고합니다 (MySQL DB). 현재 버전이 2.4.8이고, 3.4.4로 업데이트하고 싶습니다.

설치가 잘되었습니다. 내가 zabbix-서버 프로세스를 시작하면 데이터베이스가 업그레이드 시작하고, 그 다음 다음과 같은 오류 메시지와 함께 중지 : 그래서

[Z3005] query failed: [1034] Incorrect key file for table 'alerts'; try to repair it [alter table alerts add p_eventid bigint unsigned] 

, 나는 "서명되지 않은 테이블 알림 추가 변경 p_eventid의 BIGINT"를했다, zabbix 서버를 중지 , zabbix 서버를 다시 시작하고, 지금이 오류 메시지가 있어요 : 오류 메시지가 다른 나를 위해 고생 조금이다

[Z3005] query failed: [1060] Duplicate column name 'p_eventid' [alter table alerts add p_eventid bigint unsigned] 

을하지만, 제안 된 솔루션은 여전히 ​​동일합니다, 이미 완료되었습니다.

나는 약간의 연구를했지만, 유용 할 수있는 this ZBX bug report을 발견했지만, 나는 SQL 전문가가 아니기 때문에 해결 방법을 적용하는 방법을 모른다. 내가 알 수있는 한, 알림 테이블 (alerts_7)에 누락 된 색인이 있습니다. 검색을 수행 한 후 다음 명령을 사용하여 만들려고했습니다.

create INDEX on alerts (p_eventid) USING BTREE; 

여전히 오류가 있습니다 (두 번째 오류).

누구나 이미 그 상황이 있었고 해결 방법을 찾았습니까?

+0

이것은 프로그래밍 관련 질문이 아니므로 https://serverfault.com/ 또는 https://superuser.com/에서 훨씬 좋은 답변을 얻을 수 있습니다. ** 업그레이드 수행 방법에 대한 정보를 포함하여 ** ** 강력하게 추천합니다. 우분투에서 실행중인 경우 (예 : 공식 apt'repositories 등을 통해 사용) 명령을 포함하십시오. 행운을 빌어 요. 나는 Zabbix를 수년간 사용해 왔으며 업그레이드 경로가 매우 안정적이라는 것을 발견했습니다. 데비안. 여러 단계에서 하위 버전으로 업그레이드 할 수도 있습니다 (제안 사항). – wally

+0

@wally : 당신은 완전히 맞습니다. 나는 2 개의 탭을 열었습니다. 하나는 여기에, 하나는 SF에, 그리고 잘못된 탭에 질문을 만들었습니다. 그것은 나빴던 긴 날이었습니다. 내 설정은 매우 간단합니다. 하나의 VM에 zabbix 서버가 있고 다른 DB에 DB가 있습니다. 필자는 새로운 클린 VM 인 Ubuntu 16.04를 만들고 패키지를 통해 Zabbix를 설치했습니다. 이전 zabbix VM을 종료하고 새로운 Zabbix VM을 시작하고 프로세스를 시작했으며 DB 업그레이드는 원래 게시물에 언급 된 오류로 시작되었습니다. – SBO

+0

@SBO 문제 없음! – wally

답변

0

마침내이 작업을 할 시간이 있었지만 문제는 tmp 디렉토리가 업그레이드 작업에 비해 너무 작았다는 것입니다. my.cnf에서 tmp 경로를 변경하고 업그레이드를 다시 시작하면 모든 것이 예상대로 작동했습니다!

0

대괄호 안의 부분은 제안되지 않았으므로 시도한 명령입니다. 이제 열이 이미 있기 때문에 실패합니다.

이 경우 해당 열을 삭제하고 Zabbix 서버를 다시 시작하면됩니다. 업그레이드를 시작하기 전에 데이터베이스 백업이 있어야합니다.

+0

감사합니다. 리치, 제 생각에 그것이 좋은 제안이라고 생각했습니다. 내일 다시 시도하고 알려 드리겠습니다. – SBO