2010-02-19 2 views
21

내가 성공적으로 좋은 .txt 인 파일을 생성

mysqldump --databases 

를 사용하여 전체 MySQL 데이터베이스를 덤프 한 --databases. 그러나 한 번에 전체 파일을 MySQL로 다시 읽는 방법을 알 수는 없습니다. mysqlimport는 한 번에 하나의 테이블 만 원하는 것처럼 보입니다.

답변

49

, 당신은 mysql 명령을 사용하여 다른 데이터베이스로 가져올 수 있습니다 : 당신이 원하지 않는 경우,

mysql --user=XXX --password=XXX --host=YOUR_HOST DATABASE_NAME < db-dump.sql 


그리고 명령에 표시 할 수있는 암호, 당신은 사용할 수 있습니다 : A와

mysql --user=XXX -p --host=YOUR_HOST DATABASE_NAME < db-dump.sql 


,

mysqldump --user=XXX --password=XXX --host=SOURCE_HOST SOURCE_DB | mysql --user=XXX --password=XXX --host=DESTINATION_HOST DESTINATION_DB 

(그것은 더 빨리해야한다 : 당신이 다른 하나의 DB를 복사 할 경우 (!) 참고는, 당신은 파일을 사용할 필요가 없습니다, 그냥 직접 파이프 mysqldumpmysql의 출력 수 디스크에있는 임시 파일을 사용하지 않으므로)

+3

글쎄, 왜 mysqlimport가 작동하지 않는지 설명합니다. –

+0

파이프가 훨씬 좋습니다. 감사합니다 – barbolo

+0

@ Pascal MARTIN 나는 똑같은 일을하려했지만 성공하지 못했습니다. 다음은 문제를 설명하는 스레드입니다. http://dba.stackexchange.com/questions/160879/importing-sql-file-in-mysql-no-errors?noredirect=1#comment309278_160879 – John

12

나는 자주 이렇게 :

mysqldump -u username -p databasename > dump.sql 

로드하려면

mysql -u username -p targetdatabasename < dump.sql 

스위치 -p 명령 실행되면 사용자 username의 암호를 입력하라는 메시지를 표시하기 위해 데이터베이스를 지시합니다.

귀하의 질문은 아마도 중복 것입니다. 그냥 mysql 클라이언트 내에서 '소스'를 사용할 수 있습니다

6

는 :

또는 명령 줄에서 직접 공급

source dumpfile.sql 

:

mysql -u user -p password database < source dumpfile.sql 

이 mysqldump를의 결과는 단지 SQL 파일입니다 때문에 평소와 같이 mysql을 통해 실행할 수있다. 일부 파일 (예를 들어 db-dump.sql) mysqldump를 생성 한