Can\t open file: ~~~~(errno: 145)
ERROR 1016: Can`t open file:[Tablename].MYD (errno: 145)
☆. 하드웨어의 오류 및 기타 이유로 table file이 손상된 경우
Myisamchk 나 check table명령어를 사용하여 수동으로 복구
# myisamchk -r [Tablename].MYI
☆. 자동복구 방법
이 기능은 MySQL기동시 table 이 crash marking이 되어 있는지 혹은 적절히
close 되지 않았는지 체크하는 기능으로 mysqld 의 파라메터로 지정해주도록 되어 있다.
--myisam-recover = {default | backup | force | quick }
DEFAULT : 이 옵션은 아무 옵션도 주지 않은 것과 동일한 의미로 자동 복구를
사용하지 않는다는 의미
BACKUP : 추천하는 옵션으로 복구중 변경되는 테이블은 BAK확장자를 붙여서
백업을 해놓고 복구에 들어가는 옵션
FORCE : 복구시 테이타 손실이 무시하고 강제로 복구
QUICK: 테이블에 어떠한 삭제된 블락도 없다면 table에 row를 점검하지 않는다.
속도는 빠르지만 완벽한 복구는 보장할 수 없다.
/etc/rc.d/init.d/mysql 같은 startup script에 아래 부분을 수정해주시고 MySQL을 재시작
.
case \$mode\ in
\start\)
# Start daemon
if test -x $bindir/safe_mysqld
then
$bindir/safe_mysqld --myisam-recover=backup (수정할 부분)
~~~~~~~~~~~~~~~~~~~~~~~
.
service mysql stop (MySQL중단)
service mysql start (MySQL재시작)
☆. mysql 서버의 중지 없이 하는방법
mysql에 접속하여 check table,repair table명령문으로 해결할수도 있습니다.
출처 : http://www.mysqlkorea.co.kr/gnuboard4/bbs/board.php?bo_table=community_03&wr_id=1490&page=2