Linux DB

mysql의 table이 깨졌다는 메시지가 출력됩니다.

2008.05.15 03:49

sylee 조회 수:17718

mysql의 table이 깨졌다는 메시지가 출력됩니다.

  → mysql의 table이 깨졌다고 나오는 것은 mysql데이터가 뒤섞여서 일어나는 일이 많습니다.

    이때에는 myisamchk 라는 명령으로 복구를 해주시면 됩니다.

    즉, /usr/local/mysql/data/columns_priv.MYI(D) 라는 것이 table이 깨졌다는 메시지가 출력된다면,

    /usr/local/mysql/bin/myisamchk -r /usr/local/mysql/data/columns_priv 라고 해주면 깨진 table을 정상적으로 복구 시켜 주게 됩니다. 이때 먼저 mysql을 중지시키고, 해당 디비 테이블을 백업후 하시는 것이 안전합니다.

예제)
pkill mysqld
cd /usr/local/mysql/data/
mkdir columns_priv_bak
cp columns_priv.* ./columns_priv_bak/
/usr/local/mysql/bin/myisamchk /usr/local/mysql/data/columns_priv.*
/usr/local/mysql/bin/myisamchk -r /usr/local/mysql/data/columns_priv.*


    복구를 시켰는데도 불구하고 복구 시킬당시에는 정상작동 되다가 얼마후에 또다시 깨지는 일이 발
    생 한다면 그것은 디스크 공간을 의심해 볼 필요가 있습니다.
    df 명령으로 파티션 정보를 출력하여 mysql data가 들어있는 /usr의 파티션 용량이 100%는 아닌지 확인해 주시기 바랍니다.