2011-07-26 8 views
0

현재 전자 상거래 상점을 운영 중입니다. 지난 몇 달 동안 우리는 상점에 영향을 미쳤던 매우 이상한/무작위 문제를 많이 경험했습니다. 거의 모든 경우에 우리는 결함을 복제 할 수 없었으며 손상된 데이터베이스로 판명되었습니다.손상된 데이터베이스를 방지하는 방법 - MySQL

어떤 일이 발생할 수 있습니까? 어떻게 예방할 수 있습니까?

편집 : 죄송합니다. 이것은 매우 모호합니다. 기본적으로 나는 잠재적으로 데이터베이스 손상을 일으킬 수있는 것들을 찾고 있습니다. 그것의 MySql4 데이터베이스.

기본적으로 데이터베이스 손상을 일으키는 원인은 무엇이며 어떻게 탐지하고 예방할 수 있습니까?

그냥 일반적으로.

+0

아마 여기에 더 자세한 내용이 필요합니다. – colithium

+0

"내 컴퓨터가 충돌 할 수있는 원인은 무엇입니까?" 조금 더 자세히 조사해보십시오. –

+0

MySQL 버전은 무엇입니까? 네트워크 마운트 파일 시스템이 관련되어 있습니까? –

답변

2

질문은 매우 광범위하므로 광범위한 제안으로 답변하려고 노력할 것입니다. MySQL은 기업 수준의 DBMS가 아닌 임의의 손상 문제가 있어서는 안됩니다.

  • 하드웨어를 확인하십시오. 귀하의 플랫폼을 모르지만 Linux라고 가정하면 prime95를 사용해 프로세서 및 스마트 마우스 도구를 테스트하여 기본 디스크 테스트를 수행 할 수 있습니다. Memtest86은 메모리 오류를 진단 할 수 있지만 서버를 재부팅하기를 원하지는 않을 것입니다.
  • 일부 특정 커널 버전은 경험상으로 설명 할 수없는 문제를 일으킬 수 있습니다. 업그레이드 할 수 있습니까?
  • 최신 버전의 MySQL 또는 다른 시스템에서 데이터를 가져 오기 테스트. "no errors yet"는 문제가 해결되었다는 것을 의미하지 않기 때문에 유용하지 않을 수 있습니다.
  • 여전히 잘 작동하는 MyISAM 테이블을 사용하고 있다면 ACID 호환 엔진을 사용해보십시오. InnoDB는 한동안 분노했지만, 나는 그것이 대체되었다고 믿습니다.
1

이것은 상당히 일반적인 질문이므로 개인적으로 본 내용을 알려 드리겠습니다.

대부분의 MySQL 데이터베이스 오류는 하드 드라이브가 손상되었거나 서버가 올바르게 종료되지 않고 하드 전원이 꺼져있을 때 전원 오류가 발생했기 때문에 발생했습니다.

이러한 두 가지 경우의 손상을 방지하기 위해 할 수있는 가장 중요한 일은 데이터베이스의 백업을 자주 작성하고 (임의로 변경하지 않는 어딘가에 저장하는 것입니다.) 이렇게하면 되돌릴 수있는 새로운 방법이 있습니다. . 또한 RAID에 데이터를 저장하는 것이 도움이됩니다. 설정에 따라 디스크 나 충돌이 발생해도 생존 할 수 있기 때문입니다. 전원이 나가면 디스크에 백업 전원 공급 장치가있는 것이 좋습니다.

또한 문제가 발생할 경우 복구 할 수있는 견고한 테이블을 사용해보십시오. 저는 이전에 MyISAM 테이블을 사용 했었습니다.하지만 문제가 발생하면 데이터가 손실되어 최신 백업에서 시작해야합니다. 그래서 InnoDB로 전환 한 다음 실제로 대부분의 충돌로부터 복구 할 수있었습니다. 그러나 이것은 얼마 전이었고 InnoDB는 더 이상 최신의 것이 아니 었습니다.

어쨌든 문제를 해결해 주시고 더 이상 정보가 있으면 잘하면 도움이 될 것입니다.

관련 문제