2012-12-16 4 views
0


어떻게 한 pc에서 다른 pc로 InnoDB 테이블을 옮길 수 있습니까?

나는 'admin'테이블을 가지고 있으며 모든 데이터를 한 위치에서 다른 위치로 옮기고 싶습니다. MyISAM 엔진을 사용하면 데이터 폴더의 'admin'테이블에 'admin.frm', 'admin.MYD'및 'admin.MYI'라는 3 개의 파일이 생기고 해당 파일을 복사하여 다른 위치에 붙여 넣을 수 있습니다. 탁자. 하지만 InnoDB 엔진을 사용하면 데이터 폴더에 'admin.frm'만 생기고 그 파일을 다른 위치에 복사하면 테이블을 실행할 수 없습니다.

누구든지 InnoDB 테이블을 한 위치에서 다른 위치로 이동할 수 있습니까?

- 고맙습니다.

편집 : (. 내가 전체 테이블로 (너무 데이터 구조를 전송해야) .I 그것은 MyISAM 테이블 파일처럼 간단한 복사 붙여 넣기 할 것이 가능 어떻게?)

답변

2

그냥 그렇게 같이 내장 도구를 사용하는 것이 더 간단 할 수있는 데이터를 전송해야하는 경우 ...

사용 mysqldump는 매우 간단한 예제 테이블을 얻을 수 있습니다 그리고 다른 컴퓨터에 :

mysql -u USERNAME -p DATABASE < admin.sql 
+0

. 그게 어떻게 가능해 ? – user1844626

+1

mysqldump는 데이터와 구조체를 모두 백업 할 것이다 .. –

+1

기본적으로 mysqldump는 CREATE TABLE 문을 갖는 create info를 포함해야한다. 두 시스템에 동일한 my.cnf가 있고 동일한 주요 버전에 있지 않으면 MyISAM 파일을 복사하면 안됩니다. – Aea

1

mysqldump을 사용하여 모든 데이터를 파일로 덤프 한 다음 다른 머신에서 실행할 수 있습니까?

mysqldump -u USERNAME -p DATABASE admin > admin.sql 

:

0

5.6 버전에서 테이블 방법을 사용하여 이동 이노 디비 :

1) 원본 서버와 마찬가지로 대상 서버/데이터베이스에 빈 테이블을 만듭니다.

2) 대상 서버의 테이블 공간을 삭제하십시오.

Alter Table table_name discard tablespace. 

3) 복사 .FRM 및 원본 서버의 "읽기 잠금과 같은 높이 테이블"을 실행 한 후 대상 서버에있는 .ibd. 대상 서버에

4) 가져 오기 테이블 :

나는 .I 그것은 간단한 복사 MyISAM 테이블 파일처럼 붙여 넣기합니다) 전체 테이블로 (너무 데이터 구조를 전송해야
ALTER TABLE table_name IMPORT TABLESPACE; 
관련 문제