자주 죽던 서버가 마침내 완전히 죽어 버렸다. 하드 디스크가 불안 하더니 fsck 몇번 둘리고 나니 몇 개의 풀더들이 지워져 부팅이 안된다. 다행히 웹 루트 풀더가 남아있어 서버를 다시 갈았다. 일단 다른 하드에 Ubuntu 서버를 다시 설치하고 웹풀더 복사 및 웹 설정을 하였다. 하지만 mysql 를 사용하는wordpress, punbb 와 gallery가 안 되었다. 다시 확인해 보니 다행히 mysql db 데이터가 저장되어 있는 풀더 '/var/lib/mysql'이 살아 있어 mysql db복구를 하여 일단은 wordpress와 punbb는 제대로 동작 하는것 같다.
mysql db 복구
1. 기존 하드 마운트
# sudo mount /dev/sdb1 /mnt/sdb
2. wordpress, punbb 와 gallery 풀더의 설정 파일을 참조 하여 db를 생성해 준다.
db 이름, userid 와 passwd는 각 설정 파일 wordpress : wp-config.php, punbb : config.php, gallery2 : config.php 을 참조 한다.
# mysql -u root -p mysql
mysql> grant all on wordpress.* to userid@localhost identified by 'password' with grant option;
mysql>crate database wordpress;
mysql> flush privileges;
mysql> grant all on punbb.* to userid@localhost identified by 'password' with grant option;
mysql>crate database punbb;
mysql> flush privileges;
mysql> grant all on gallery2.* to userid@localhost identified by 'password' with grant option;
mysql>crate database gallery2;
mysql> flush privileges;
3. 새로 설치한 /var/lib/mysql 를 다른 이름으로 바꾸고 기존 mysql 데이터를 복사한다.
# cd /var/lib
# sudo mv mysql mysql_new
# sudo mv /mnt/sdb/var/lib/mysql .
이렇게만 해도 wordpress와 punbb는 동작한다. 하지만 mysql동작시 에러 발생
4. 복사한 mysql 데이터를 backup하고 mysql데이터 풀더를 돌려 넣은 후 restore한다.
mysql --skip-grant-tables 옵션으로 실행
# sudo /etc/init.d/mysql stop
# sudo mysqld --skip-grant-tables &
Backup
# mysqldump -u userid -p wordpress > wordpress.sql
# mysqldump -u userid -p punbb> punbb.sql
# mysqldump -u userid -p gallery2 > gallery2.sql
/var/lib/mysql 돌려 넣고 다시 시작
# cd /var/lib
# sudo mv mysql mysql_old
# sudo mv mysql_new mysql
# sudo shutdown -r now
Resotre
#mysql -u userid -p wordpress < wordpress.sql
#mysql -u userid -p punbb< punbb.sql
#mysql -u userid -p gallery2 < gallery2 .sql
'OldStory > Home Linux' 카테고리의 다른 글
MEDAN ALTA'ALEEM - AL MIDNAB (0) | 2009.12.04 |
---|---|
Google Maps Plugin (0) | 2009.10.06 |
백산 (0) | 2009.09.10 |
Listening Aviator - RUN 1 (0) | 2009.09.10 |
svn trac (0) | 2009.08.05 |