pC.NET

Welcome to oscc.kr



 MySQL 자동 최적화 스크립트
2010-04-22 15:41:10
Hit : 7232

작성자 : 피시키드
출처:http://mooo.org/3216/

리눅스 상에서 MySQL을 DBM으로 사용한다면 mysqlcheck를 사용해서 최적화 및 복구를 할 수 있다. 이것은 myisamchk와 비슷한데 myisamchk는 mysqld 데몬이 구동되지 않았을 때 사용할 수 있고, mysqlcheck는 mysqld 데몬이 구동되고 있을 때 사용한다는 점에서 다르다.

mysqlcheck는 콘솔 상에서 CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE 명령을 실행시켜주므로 이를 스크립트로 만들어서 cron에 등록해 주기적으로 사용하면 좋을 것이다.

mysqlcheck의 사용법은 다음과 같다.

shell> mysqlcheck [options] db_name [tables]
shell> mysqlcheck [options] --databases db_name1 [db_name2 db_name3...]
shell> mysqlcheck [options] --all-databases
 

mysqlcheck의 유용한 옵션으로는 다음과 같은 것들이 있다.
  • --all-databases, -A
    모든 데이터베이스에 대해 검사한다.
     
  • --analyze, -a
    테이블을 분석한다.
     
  • --auto-repair
    테이블을 복구한다
     
  • --fast, -F
    테이블이 정상적으로 닫히지 않은 경우에 대해서만 검사한다.
  • --force, -f
    SQL 에러가 발생하더라도 계속 수행한다.
     
  • --optimize, -o
    테이블을 최적화시킨다.
     
  • --repair, -r
    테이블을 복구한다.
     
  • --silent, -s
    에러 메시지 외의 다른 메시지는 출력하지 않는다.
     
  • --host=host_name, -h host_name
    MySQL 서버가 구동하고 있는 호스트 이름을 지정한다.
     
  • --user=user_name, -u user_name
    MySQL 서버에 접속한 사용자 이름을 지정한다.
     
  • --password[=password], -p[password]
    MySQL 서버에 접속할 사용자의 암호를 지정한다.
     
  • --port=port_num, -P port_num
    MySQL 서버에 접속한 포트를 지정한다.
     

위의 옵션을 적절히 조합해서 mysqlcheck를 실행하면 된다. 일반적으로 mysqlcheck를 실행할 때는 아래와 같은 형태로 사용한다.

shell> mysqlcheck -Aao --auto-repair -u <u>root</u> -p<u>password</u>
 

이렇게 실행시키면 아래와 같은 결과를 볼 수 있다.

mooo.xe_action_forward                           Table is already up to date
mooo.xe_addons                                   Table is already up to date
mooo.xe_admin_shortcut                           Table is already up to date
mooo.xe_comment_declared                         Table is already up to date
mooo.xe_comment_declared_log                     Table is already up to date
mooo.xe_comment_voted_log                        Table is already up to date
mooo.xe_comments                                 OK
mooo.xe_comments_list                            OK
mooo.xe_counter_log                              OK
mooo.xe_counter_status                           OK
...
 

이제 주기적으로 검사해주기 위해 /etc/cron.d 에 등록해주도록 하자.

# /etc/cron.d/mysqlcheck

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#MAILTO=root

45 4 * * *   root  /usr/bin/mysqlcheck -Aaos --auto-repair -u <u>root</u> -p<u>password</u>

# EOF
 

위 예에서는 매일 새벽 4시 45분에 myslqcheck를 실행하도록 했다. 이 시간은 적절히 수정하면 될 것이다.
* 피시넷님에 의해서 게시물 이동되었습니다 (2010-05-05 17:50)

  피시키드
회원님의 소개글이 없습니다.
 6490
 83

잠깐!
글은 인터넷에서 자신을 나타내는 유일한 모습입니다.
한줄의 댓글이나 답글로도 피시키드님은 무척 기뻐할 것입니다.
댓글쓰기     작성자   패스워드


99
  SMT-A310 모뎀 정보 
 피시키드
79 2024/07/29
98
  TriGem 486G VGA포트 MLCC 추정값 
 피시키드
100 2024/06/20
97
  conner cp-342 정보 
 피시키드
93 2024/06/05
96
  대세엠케어 HS-589 서비스 메뉴얼 정보   1
 피시키드
97 2024/06/05
95
  venix-86, 386  
 피시키드
163 2023/09/04
94
  끄적끄적. 
 피시키드
197 2023/07/29
93
  벽걸이 에어컨 이전 설치비 없이 에어컨 분리하는 방법 (자가이전)  
 피시키드
184 2023/07/07
92
  아두이노 스피커 입력받아 구현 
 피시키드
155 2023/05/06
91
  트랜샌드 256m 관련 결제 
 피시키드
193 2023/02/13
90
  sizzix 커팅매트 사이즈 
 피시키드
212 2022/04/26
89
  화산실험 -추억- 
 피시넷
459 2021/07/31
88
  CentOS 6에서 httpd 서비스시 자꾸 403오류가 뜰때. 
 피시키드
494 2021/07/16
87
  MYSQL 사용시 mysql.sock이 생성안됩니다 할때는.. (2002오류포함) 
 피시키드
2508 2021/03/17
86
  오랜만이네요   1
 윤성일
754 2021/01/12
85
  제로보드4 게시판형식에 정이 있으나.... 
 피시키드
781 2021/01/10
84
  이동식 드라이브 문자명 변경 
 피시키드
815 2021/01/10
83
  식빵 
 피시키드
784 2020/12/23
82
  Windows 10 네트워크 오류 해결 방법 
 피시키드
1023 2020/08/11
81
  KT추가단말서비스 IP주소   1
 피시키드
1110 2020/08/05
80
  qoh99se windows10에서 하는방법. 
 피시키드
1127 2020/08/02
79
  마인크래프트 최적화 
 피시키드
1882 2020/06/10
78
  멀티 부팅 USB 만들기 (ISO이미지 기반) 
 피시키드
1215 2020/05/27
77
  포토샵 CS3 강제종료 현상시. 
 피시키드
1324 2020/05/23
76
  리눅스 패키지 관련 
 피시키드
1280 2020/04/19
75
  [Linux/Shell] 특정 단어가 포함된 파일을 찾아 삭제하기 
 피시키드
1185 2020/04/02
74
  엑박 컨트롤러 개조 
 피시키드
5458 2020/03/27
73
  editplus 빈줄 삭제 
 피시키드
1332 2019/12/12
72
  ssh자동 로그인 설정   1
 피시키드
1679 2019/11/08
71
  ckeditor 업로드 테스트 완료 
 피시넷
1691 2019/10/05
70
  random for only logics gate circuit 
 피시키드
1365 2019/10/04

1 [2][3][4]



Copyright (C) 1997-2025 All Rights Reserved.

Powered by
DNS server, DNS service 우분투 리눅스 웹서비스 AbuseIPDB Contributor Badge