단일 데이터베이스의 mysqldump를 실행하면 모든 테이블이 알파벳 순서로 덤프됩니다.
당연히, mysqldump를 데이터베이스로 리로드하는 것도 알파벳 순서로되어 있습니다.
SHOW PROCESSLIST를 수행 할 수 있습니다. mysqldump를 실행하는 DB 연결을 찾으십시오. 덤프가 다시로드되면 DB 연결이 사라집니다.
덤프 파일에 어떤 테이블이 있는지 알고 싶다면 foobar.sql에 대해이 테이블을 실행하십시오.
cat foobar.sql | grep "^CREATE TABLE" | awk '{print $3}'
업데이트 2012-05-02 13:53 EDT
테이블이 하나만 있다는 것을 알지 못해서 죄송합니다.
테이블이 MyISAM 인 경우, 모니터링하는 유일한 방법은 OS 관점입니다. 이유? 테이블은 다시로드하는 동안 쓰기 잠금 상태입니다. 무엇을 찾으십니까? .MYD
및 .MYI
파일 의 크기입니다 . 물론, 가져온 다른 DB 서버에서 이전의 테이블 크기와 비교해야합니다.
테이블이 InnoDB이고 innodb_file_per_table이 사용 가능한 경우, 모니터링하는 유일한 방법은 OS 관점입니다. 이유? 테이블은 다시로드하는 동안 쓰기 잠금 상태입니다. 무엇을 찾으십니까? .ibd
파일 의 크기입니다 . 물론, 가져온 다른 DB 서버에서 이전의 테이블 크기와 비교해야합니다.
테이블이 InnoDB이고 innodb_file_per_table이 비활성화되어 있으면 OS 관점에서도 도움이되지 않습니다.
업데이트 2012-05-02 13:56 EDT
작년에 이와 같은 문제를 해결했습니다. "type db.sql | mysql"에 대한 진행률을 어떻게 얻습니까?
업데이트 2012-05-02 14:09 EDT
표준 mysqldump가 다음과 같이 테이블을 쓰기-잠금하기 때문에 :
LOCK TABLES `a` WRITE;
/*!40000 ALTER TABLE `a` DISABLE KEYS */;
INSERT INTO `a` VALUES (123),(451),(199),(0),(23);
/*!40000 ALTER TABLE `a` ENABLE KEYS */;
UNLOCK TABLES;
그런 다음 테이블 잠금이 해제 될 때까지 mysql로 진행할 수있는 방법이 없습니다.
당신이 얻을 수있는 경우 LOCK TABLES
및 UNLOCK TABLES
덤프 파일에서 주석 ...
- 테이블이 MyISAM이면 SELECT COUNT (*)가 작동합니다.
- 테이블이 InnoDB 인 경우, SELECT COUNT (*)는 카운트가 완료 될 때까지로드를 느리게하거나 중단시킵니다.