실제 파일에서 mysql 데이터베이스를 복원하는 방법은 무엇입니까?


12

방금 시스템을 다시 설치했는데 덤프 백업을하지 않았지만 여전히 이전 mysql 설치의 실제 폴더가 있습니다.

현재 구성을 복원하고 업데이트하는 데 사용할 수 있습니까?

답변:


11

가능하지만 제안되지는 않았습니다. 내가 그것을 시도하려고한다면, 여기 내가 어떻게 할 것입니다.

  1. mysql을 설치하고 가능한 한 이전 서버에 가깝게 구성하거나 동일한 구성을 사용하십시오. 시작, 재시작 및 로그인 할 수 있는지 확인하십시오. 이제 mysql을 종료하십시오.

  2. 이전 설치를 다른 방법으로 이동 mv /var/lib/mysql /var/lib/mysql.orig

  3. rsync 또는 새 파일을 제자리에 복사하십시오. sudo rsync -av /old/mysql/ /var/lib/mysql/이것이 작동하지 않을 경우 원본 파일을 현재 상태로 유지하는 것이 좋습니다.

  4. sudo chown -R mysql: /var/lib/mysql그런 다음 mysql을 시작하십시오. 로그를 확인하고 문제가 없는지 확인한 다음 Mysql에 로그인하십시오. 주위를 둘러보고 데이터가있는 것처럼 보입니다.

모든 것이 순조롭게 진행되었다고 가정하면 설정해야합니다. 이제 즉시 Mysql을 적절하게 설정하십시오. 다음에 이런 종류의 말도 안되는 일을 할 필요가 없습니다.


1
1 단계 전에 위의 2 단계를주의해서 수행해야합니다. mysqld의 설치 및 시작이 이전 시스템 데이터베이스를 겹쳐 쓰지 않도록하려고합니다.
malcolmpdx

그건 좋은 지적이야. 나는 / var / lib / mysql이 원래 설치가 아니라고 가정했다. 어쨌든, 시작하기 전에 원본 파일이 / var / lib / mysql에 있지 않은지 확인하십시오. 원본 데이터를로드하기 전에 새로운 Mysql 인스턴스로 시작하려고합니다.
kashani

Zend Server CE 및 MacOS 환경에 맞게 단계를 약간 수정 해 주셔서 감사합니다.
John

@ Kasani 나는이 지침 (centos)을 따랐지만 새로운 서버에서 테이블이 표시되지만 데이터와 테이블이 표시되지 않습니다 .. 어떤 아이디어? 폴더 안에 모든 표가 표시되지 않습니다 (올바른 문자 세트 인 것 같습니다)
K2xL

2
@ K2xL 당신이보고있는 것이 확실하지 않습니다. 보고있는 내용과 수행 방식에 대한 세부 정보가 포함 된 새 질문을 작성하면 기꺼이 살펴 보겠습니다. Innodb 테이블은 innodb_file_per_table 사용 여부에 관계없이 기본 ibdata 파일에 데이터가 저장되므로 위의 방법은 개별 데이터베이스가 아닌 전체 Mysql 설치에서만 작동합니다.
kashani
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.