얕고넓은지식/linux

리눅스 mariadb mysql 손상 복원

쪽마 2023. 3. 27. 14:20

 

 

 

mysqlcheck 사용법

 

 


자동복구 및 손상 검사 할시
# mysqlcheck -v -u[계정명] -p --auto-repair --check --all-databases
# mysqlcheck -v -u root -p --auto-repair --check --all-databases
  

 

손상 검사만 할시

# mysqlcheck -v -u[계정명] -p --check --databases [DB명]

# mysqlcheck -v -u root -p --auto-repair --check --all-databases server

 

-v 옵션시 테이블 검사내역 print(verbose)

 

 

 



1. mysql 전체 DB 복구

[root@localhost /]# mysqlcheck -Aao –auto-repair -u root -p패스워드

 

2. mysql 지정 DB 복구

[root@localhost /]# mysqlcheck –auto-repair -u root -p패스워드  DB명

 

3. mysql 특정 DB의 특정테이블 복구

[root@localhost /]# mysqlcheck –auto-repair -u root -p패스워드  DB명 테이블명

 

————————————————————–
아래와 같이 mysql 접속후 쿼리문으로 체크 및 복구도 가능

 

[root@localhost /]# mysql -u root -p패스워드

 

mysql> use DB명;

mysql> show tables;

mysql> check table 테이블명;

mysql> repair table 테이블명;

 

 

 

 

 

 

 

 

 

저는 아직 한번도 격어보지는 못했지만 여러가지 이유로 데이타베이스 테이블이 손상될 수 있습니다. 이때 mysqlcheck로 테이블 손상 복구를 시도해 볼 수 있습니다.

이 때 사용하는 명령어는 아래와 같습니다.

mysqlcheck -u [DB계정] -p[패스워드] --auto-repair [DB명]

만약 데이타베이스 전체를 검사하고 싶다면 아래 명령어를 사용합니다.

mysqlcheck -u [DB계정] -p[패스워드] --auto-repair --all-databases

 

 

데이타베이스 테이블 최적화

데이타베이스가 오래되면 파편화가 생길 수 있고, 어디인지 모르게 꼬일 수도 있습니다. 그래서 데이타베이스를 최적화 시켜주는데요.
이는 컴퓨터 하드디스크 정리와 비슷합니다. 컴퓨터 하드디스크에 기록되는 정보들은 순서대로 차곡차곡 정보가 쌓이는 것이 아니라 여기 저기 분산되어 빈 공간에 데이타를 저장하게 됩니다. 그러다보면 정보를 찾는데 시간이 걸리먄서 속도가 저하되는 것처럼 데이타베이스도 여기저기에 정보가 저장되다보면 속도가 느려지게 됩니다.

데이타베이스를 최적화하기 위해서는 아래 명령을 사용합니다.

mysqlcheck -u [DB계정] -p[패스워드] --optimize [DB명]

만약 데이타베이스 전체를 최적화하고 싶다면 아래 명령어를 사용합니다.

mysqlcheck -u [DB계정] -p[패스워드] --optimize --all-databases

이렇게 명령을 수행하다보면 “Table does not support optimize, doing recreate + analyze instead”라는 메세지를 만나게 되는데요. 이는 MariaDB에게는 이런 메세지를 보여준다고 합니다.

wp.wp_commentmeta
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wp.wp_comments
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wp.wp_links
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wp.wp_options
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wp.wp_postmeta
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wp.wp_posts
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wp.wp_term_relationships
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wp.wp_term_taxonomy
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wp.wp_termmeta
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wp.wp_terms
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wp.wp_usermeta
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wp.wp_users
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK

 

반응형