집 >데이터 베이스 >MySQL 튜토리얼 >Mysqlcheck를 이용한 확인 및 복구 방법, 테이블 최적화에 대한 자세한 설명
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 -a radius payment_transactionrecord -uroot -pEnter password: radius.payment_transactionrecord Table is already up to date
위 명령은 다음과 같이 사용됩니다. 반경 라이브러리 분석payment_transactionrecord
테이블, -a
은 분석을 의미합니다
# mysqlcheck -o radius payment_transactionrecord -uroot -pEnter password: radius.payment_transactionrecord OK
-o
는 최적화를 의미합니다. 여기 반경을 최적화하는 payment_transactionrecord
테이블이 있습니다. library
# 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 엔진이 최적화를 지원하지 않는다는 의미는 아닙니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!