[mysqldump] 각 데이터 행에 대해 하나의 INSERT 문을 MySQLDump

다음 진술로 :

mysqldump --complete-insert --lock-all-tables --no-create-db
--no-create-info --extended-insert --password=XXX -u XXX
--dump-date yyy > yyy_dataOnly.sql

다음과 같은 INSERT 문을 얻습니다.

INSERT INTO `table` VALUES (1,'something'),(2,'anything'),(3,'everything');

내 경우에 필요한 것은 다음과 같습니다.

INSERT INTO `table` VALUES (1,'something');
INSERT INTO `table` VALUES (2,'anything');
INSERT INTO `table` VALUES (3,'everything');

“mysqldump”에게 각 행에 대해 새로운 INSERT 문을 작성하도록 지시하는 방법이 있습니까? 당신의 도움을 주셔서 감사합니다!



답변

사용하다:

mysqldump --extended-insert=FALSE

여러 개의 인서트가 하나의 큰 인서트보다 느리다는 점에 유의하십시오.


답변

최신 버전에서는 다음과 같이 플래그가 변경되었습니다.

-확장 삽입, -e

여러 VALUES 목록을 포함하는 다중 행 구문을 사용하여 INSERT 문을 작성하십시오. 결과적으로 덤프 파일이 작아지고 파일을 다시로드 할 때 삽입 속도가 빨라집니다.

–고르다

기본적으로 활성화 된이 옵션은 –add-drop-table –add-locks –create-options –disable-keys –extended-insert –lock-tables –quick- 세트 문자셋. 빠른 덤프 작업을 제공하고 MySQL 서버로 빠르게 다시로드 할 수있는 덤프 파일을 생성합니다.

–opt 옵션은 기본적으로 활성화되어 있으므로 –skip-opt 옵션 만 지정하면 여러 기본 설정을 해제 할 수 있습니다. –opt의 영향을받는 옵션의 하위 집합을 선택적으로 활성화 또는 비활성화하는 방법에 대한 내용은 mysqldump 옵션 그룹에 대한 설명을 참조하십시오.

–skip-extended-insert

확장 삽입 끄기


답변