140일 가동 시간 재부팅 후(부팅되지 않음) 서버가 방금 충돌했습니다. Plesk를 실행하고 있었고 Online.net에서 호스팅했기 때문에 복구 시스템을 실행하고 내 데이터에 액세스할 수 있었습니다. 몇 개의 데이터베이스와 테이블이 있는 MySQL 서버를 실행하고 있었습니다. 서버를 다시 설치하려면 데이터베이스에 액세스하고 이를 내보내야 합니다. 서버는 CentOS를 실행 중이었고 복구 시스템은 Ubuntu 12.04입니다. 데이터베이스를 가져오거나 원래 MySQL 서버를 시작할 수 있는 방법이 있습니까?
감사합니다!
답변1
기본 CentOS 6 시스템에서 mysql은 `/var/lib/mysql에 루트가 있는 트리에 파일을 저장합니다.
손상된 시스템의 파일 /var/lib/mysql/...
과 /etc/my.cnf
파일을 안전한 장소에 복사하십시오.
- CentOS 시스템을 구축하고 mysql을 설치합니다.
- 새 시스템에서 mysql 서비스 종료(시작된 경우)
- 저장된
my.cnf
파일을/etc
새 시스템에 복사합니다. - 새 시스템
/var/lib/mysql
트리의 내용을 삭제합니다. - 저장된 mysql 트리의 내용을
/var/lib/mysql
새 시스템에 복사합니다. - mysql 서비스를 시작합니다(모든 항목을 교차한 상태에서).
운이 좋으면 시스템이 가동되어 실행되며 데이터 손실 등을 검사할 수 있습니다.
실패하면 로그를 살펴보고 찾은 내용에 따라 적절한 조치를 취해야 합니다.
메모:여기서 중요한 것은 손상된 시스템에서 복구한 데이터의 복사본으로 작업하는 것입니다.
이제 데이터를 정기적으로 백업하는 것도 고려해 보십시오.
답변2
우선 파티션(mysql 데이터 디렉토리가 있던 파티션)이 복구 시스템의 어딘가(예: /mnt/old_root)에 마운트되어 있는지 확인해야 합니다.
그런 다음 이 디렉토리로 루트를 이동하세요.
chroot /mnt/old_root
그런 다음 mysql을 시작해 보십시오.
/etc/init.d/mysql start
마지막으로 원하는 데이터베이스를 덤프합니다.
mysqldump -u admin -p`cat /etc/psa/.psa.shadow` database_name > database_name.sql