>데이터 베이스 >MySQL 튜토리얼 >Mysqlcheck를 이용한 확인 및 복구 방법, 테이블 최적화에 대한 자세한 설명

Mysqlcheck를 이용한 확인 및 복구 방법, 테이블 최적화에 대한 자세한 설명

黄舟
黄舟원래의
2017-03-20 14:00:523027검색


mysqlcheck는 MySQL과 함께 제공되는 도구입니다. 해당 기능은 保养 테이블을 확인, 분석, 복구 및 최적화하는 것입니다. 다음은 mysqlcheck 도구의 간단한 사용법을 소개합니다. 공식 문서는 여기

다음 예제는 MySQL 5.6 버전의 실행 상태를 기반으로 합니다(mysqlcheck는 온라인 도구입니다). 스토리지 엔진은 이 명령을 지원합니다. 정도는 다릅니다(검사, 복구, 분석, 최적화를 나타냄). 다음 내용은 주로 innodb 엔진을 기반으로 합니다.

팁: OPTIMIZE는 큰 테이블을 작업할 때 많은 시간을 소모할 수 있습니다. OPTIMIZE가 일반적으로 innodb에서 사용되지 않는 원리를 모르신다면 주의해서 사용하시기 바랍니다. MySQL 사용하기를 참조하세요. 테이블을 최적화하시겠습니까?

특정 테이블을 확인하세요

mysql의 대화형 환경이 아닌 셸에서 실행됩니다

애플리케이션에서 테이블이 깨졌으면 다음 명령을 사용하여 확인하세요.

$ mysqlcheck -c newmandela order -uroot -pEnter password:
newmandela.order                                   
OK

newmandela는 라이브러리 이름, order는 테이블 이름, 사용자 이름과 비밀번호도 입력해야 합니다.

한 라이브러리의 모든 테이블 확인

$ mysqlcheck -c newmandela -uroot -p
Enter password:
newmandela.account                                 OK
newmandela.alarm                                   OK
newmandela.alarm_settings                          OK
newmandela.auth_group                              OK
newmandela.auth_group_permissions                  OK
newmandela.auth_permission                         OK...

확인 모든 라이브러리의 모든 테이블

모든 라이브러리와 테이블이 확인되었습니다.

$mysqlcheck -c --all-databases -uroot -p
Enter password:
apmonitor.acinfo                                   OK
apmonitor.apdailysts                               OK
apmonitor.apinfo                                   OK
apmonitor.apmonthsts                               OK
apmonitor.apscanlog                                OK
apmonitor.auth_group                               OK...

특정 라이브러리만 확인하려면 –databases 매개변수를 사용할 수 있습니다

$ mysqlcheck -c --databases newmandela radius -uroot -p
Enter password:
newmandela.account                                 OK
newmandela.alarm                                   OK
newmandela.alarm_settings                          OK
newmandela.auth_group                              OK...

mysqlcheck를 사용하여 테이블 분석

$ mysqlcheck -a radius payment_transactionrecord  -uroot -pEnter password:
radius.payment_transactionrecord                   Table is already up to date

위 명령은 다음과 같이 사용됩니다. 반경 라이브러리 분석payment_transactionrecord테이블, -a은 분석을 의미합니다

mysqlcheck를 사용하여 테이블 최적화

# mysqlcheck -o radius payment_transactionrecord  -uroot -pEnter password:
radius.payment_transactionrecord                   OK

-o는 최적화를 의미합니다. 여기 반경을 최적화하는 payment_transactionrecord 테이블이 있습니다. library

mysqlcheck 복구 테이블 사용

# mysqlcheck -r radius payment_transactionrecord  -uroot -pEnter password:
radius.payment_transactionrecord                   OK

-r는 복구를 나타냅니다. 여기 payment_transactionrecord 반경 라이브러리를 복구하는 테이블이 있습니다.

확인, 최적화, 복구 테이블 조합 명령

# mysqlcheck -uroot -p --auto-repair -c -o newmandelaError:  mysqlcheck doesn't support multiple contradicting commands.

위 명령은 오류를 보고합니다. 예, -c

# mysqlcheck -uroot -p --auto-repair -o newmandelaEnter password:
newmandela.account
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
newmandela.alarm
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
newmandela.alarm_settings
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK

Table does not support optimize, doing recreate + analyze instead가 모든 테이블에 나타납니다. 무슨 뜻인가요? innodb 엔진이 최적화를 지원하지 않는다는 의미는 아닙니다.

mysqlcheck 공통 옵션

  • A, –all-databases은 모든 라이브러리를 의미합니다

  • -a, –analyze 테이블 분석

  • -o, –optimize 테이블 최적화

  • -r, –repair 테이블 오류 수정

  • -c, –check 테이블 오류 확인

  • –auto-repair 손상된 테이블 자동 복구

  • -B, –databases 여러 라이브러리 선택

  • -1, –all-in-1 쉼표로 구분된 테이블이 있는 데이터베이스당 하나의 쿼리 사용

  • -C, –check-only-changed 마지막 확인 이후 변경 사항 확인 테이블

  • -g, –check-upgrade 테이블의 버전에 따른 변경 사항 확인

  • -F, –fast 제대로 닫히지 않은 테이블 확인

  • –fix-db-names DB 이름 수정

  • –fix-table-names 테이블 이름 수정

  • -f, –force 계속 진행 오류가 있는 경우

  • -e, –extended 테이블에 대해 확장 검사를 수행합니다.

  • -m, –medium-check 확장 검사 옵션보다 빠르지만 대부분의 검사를 수행합니다

  • -q, –quick 중간 검사 옵션보다 빠릅니다

위 내용은 Mysqlcheck를 이용한 확인 및 복구 방법, 테이블 최적화에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.