programing

실제 파일에서 MySQL 데이터베이스 복원

kingscode 2023. 2. 1. 22:07
반응형

실제 파일에서 MySQL 데이터베이스 복원

실제 데이터베이스 파일에서 MySQL 데이터베이스를 복원할 수 있습니까?다음의 파일 타입을 가지는 디렉토리가 있습니다.

client.frm
★★★★
★★★MYI★★★

20개 정도 더 먹을 수 있어요.

보통 mysqldump 등의 툴을 사용하여 모든 것을 1개의 SQL 파일로 가져옵니다.이러한 유형의 파일을 처리하는 방법은 무엇입니까?

MySQL MyISAM 테이블은 다음 3가지 파일의 조합입니다.

  • FRM 파일은 테이블 정의입니다.
  • MYD 파일은 실제 데이터가 저장되는 파일입니다.
  • MYI 파일은 테이블에 작성된 인덱스가 저장되어 있는 파일입니다.

할 수 (Linux의 는 "Database Location(Linux의 경우 "Database Location은 "Database LocationLinux의 경우 "Database Location"(Database Location)입니다./var/lib/mysql/)

서버가 실행되지 않을 때 수행해야 합니다.

@Vicent의 답변에 따라 MySQL 데이터베이스를 다음과 같이 이미 복원했습니다.

스텝 1. Mysql 서버를 셧다운합니다.

스텝 2. 데이터베이스 폴더에 데이터베이스를 복사합니다(Linux의 경우 기본 위치는 /var/lib/mysql).데이터베이스 이름은 동일하게 유지하고 데이터베이스 이름은 mysql 모드로 유지합니다.

sudo cp -rf   /mnt/ubuntu_426/var/lib/mysql/database1 /var/lib/mysql/

3단계: 폴더 자체 변경 및 모드 변경:

sudo chown -R mysql:mysql /var/lib/mysql/database1
sudo chmod -R 660 /var/lib/mysql/database1
sudo chown  mysql:mysql /var/lib/mysql/database1 
sudo chmod 700 /var/lib/mysql/database1

순서 4: 데이터베이스 폴더에 ibdata1 복사

sudo cp /mnt/ubuntu_426/var/lib/mysql/ibdata1 /var/lib/mysql/

sudo chown mysql:mysql /var/lib/mysql/ibdata1

스텝 5: 데이터베이스 폴더에 ib_logfile0 및 ib_logfile1 파일을 복사합니다.

sudo cp /mnt/ubuntu_426/var/lib/mysql/ib_logfile0 /var/lib/mysql/

sudo cp /mnt/ubuntu_426/var/lib/mysql/ib_logfile1 /var/lib/mysql/

이러한 파일의 자체 변경 및 루트를 변경하십시오.

sudo chown -R mysql:mysql /var/lib/mysql/ib_logfile0

sudo chown -R mysql:mysql /var/lib/mysql/ib_logfile1

또는

sudo chown -R mysql:mysql /var/lib/mysql

스텝 6(옵션):내 사이트는 특정 위치에 파일을 저장하도록 구성되어 있으며, 그 파일을 해당 위치에 정확히 복사합니다.

스텝 7: Mysql 서버를 기동합니다.모든 것이 돌아와 즐겨라.

바로 그거야.

자세한 것은, https://biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/ 를 참조해 주세요.

같은 문제가 발생하지만 위의 절차에 따라 데이터베이스를 정상적으로 복구할 수 없었습니다.

Ubuntu OS에서 mysql 데이터베이스 폴더만 복구할 수 있었습니다.문제는 읽기 어려운 mysql 데이터 폴더로 데이터베이스를 복구하는 방법입니다.그래서 개발 환경용 win7 OS로 다시 전환했습니다.

*주의: 기존 데이터베이스 서버를 win7로 실행하고 있으며 복구된 파일에서 가져올 데이터베이스 파일은 거의 없습니다.Ubuntu OS에서 데이터베이스 파일을 정상적으로 복구하려면 mysql 데이터베이스 서버(win7 OS에서 Ubuntu OS와 동일한 버전)를 새로 설치하여 이전 데이터베이스 서버의 모든 것을 복구해야 합니다.

  1. 복구된 파일에서 다른 새 mysql 데이터베이스 서버를 동일한 버전으로 만듭니다.

  2. mysql 서버를 중지합니다.

  3. 복구된 폴더를 복사하여 (C:\ProgramData\My)에 붙여넣습니다.SQL\MySQL Server 5.5\data) mysql 데이터베이스가 저장됩니다.

  4. Linux mysql 설치 폴더에 있는 ibdata1 파일을 복사하여 (C:\ProgramData\My)에 붙여넣습니다.SQL\MySQL Server 5.5\data).교체하기 전에 기존 파일을 덮어쓰거나 백업을 만듭니다.

  5. mysql 서버를 시작하여 데이터베이스 파일이 정상적으로 복구되었는지 확인합니다.

  6. 현재 사용 중인 mysql 서버에서 복구된 데이터베이스를 사용하려면 복구된 데이터베이스를 내보내고 기존 mysql 서버를 Import하기만 하면 됩니다.

이게 도움이 됐으면 좋겠는데, 다른 건 안 먹혔으니까.

mysql:로 다운하는 것을 잊지 마십시오.mysql:mysql은 mysql:mysql이다.

chown -R mysql:mysql /var/lib/mysql-data

그렇지 않으면 데이터베이스를 삭제하거나 새 열을 추가하려고 할 때 오류가 발생합니다.

MySQL을 재시작합니다.

service mysql restart

MySql 5.1(Win7)의 경우.DB(InnoDbs)를 다시 작성하기 위해 다음 dirs(my.ini params)의 모든 내용을 대체했습니다.

datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/"
innodb_data_home_dir="C:/MySQL Datafiles/"

그 후 MySql 서비스를 시작했는데 모두 정상적으로 작동합니다.

DB 데이터가 물리적 파일에 있는 다행히 제거되지 않은 도커 볼륨에서 실수로 삭제된 도커 컨테이너(oraclelinux의 MySQL)를 되살리려고 했습니다.

그래서 제가 하고 싶었던 일은 물리 파일의 데이터를.sqlDB 및 데이터를 사용하여 컨테이너를 재생성하려면 Import 가능한 파일을 선택합니다.

바이오린 용액을 시도해 봤는데[InnoDB] Multiple files found for the same tablespace ID 기, 기, , , hurt, hurt, , , hurt, hurt, hurt, , hurt, hurt , , , .특정 폴더/파일을 열어 상처를 입히는 수술을 하는 것은 상당히 삼박하다는 것을 깨달았습니다.

에게 가 있었던 으로 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★datadir=my.cnf사용 가능한 폴더로 이동하여 MySQL 서버를 재시작합니다.벽완하게작!

네, 그렇습니다!OS에 따라 데이터베이스 폴더에 추가하고 "MySQL Fix Permissions"와 같은 명령을 실행합니다.그러면 데이터베이스가 다시 저장되었습니다.파일에도 올바른 권한이 설정되어 있는지 확인하십시오.

한번은 이 파일들을 mysql 데이터베이스의 데이터베이스 스토리지 폴더에 복사하여 db를 시작하고 파일이 복구되기를 기다린 후 mysqldump로 압축을 푼 적이 있습니다.

제 경우 /var/lib/mysql에서 tc.log를 삭제하기만 하면 mariadb/mysql을 다시 시작할 수 있습니다.

아이콘은 오렌지색으로 유지되고 빈 에러 로그가 표시됩니다.이때 우연히 이름을 바꾸거나 갱신해야 하는 것을 알게 되었습니다.my.cnf이전 디렉터리 이름에서 파일wamp64로.wamp새로운 PC로 이동합니다.

비올린의 대답에서

자세한 절차를 실행한 결과 다음과 같은 오류가 발생하였습니다.

mysqlcheck: 오류 발생: 2013: '복구 테이블...' 실행 시 쿼리 중 서버와의 연결이 끊어졌습니다.'

그런 다음 백업에서 /var/lib/mysql/mysql 디렉토리를 복사하고 다음 명령을 실행합니다.

mysql_secure_installation

그 후에는 모든 것이 잘 된다.

언급URL : https://stackoverflow.com/questions/484750/restoring-mysql-database-from-physical-files

반응형