2011-12-09 4 views

답변

64

Mysqldump

#mysqldump --host=the.remotedatabase.com -u yourusername -p yourdatabasename > /User/backups/adump.sql 
45

그것을 시도?

당신은 백업 쉘에서 전체 데이터베이스이 명령을 사용할 수 있습니다

:

mysqldump -u [username] -p[password] [databasename] > [filename.sql] 

이 말하는 > 연산자 다음에 하나 개의 명령은 실제로 "이전 명령의 출력을 가지고에 저장을 이 파일."

참고 : -p와 mysql 암호 사이에 공백이없는 것은 오타가 아닙니다. 그러나 -p 플래그가 있지만 실제 암호가 비어 있으면 암호를 묻는 메시지가 나타납니다. 때로는 bash 기록에서 암호를 지우는 것이 좋습니다.

+6

man mysql : 짧은 옵션 양식 (-p)을 사용하면 ** 할 수 없습니다 * * 옵션과 암호 사이에 ** 공백 **이 있어야합니다. –

+1

-p와 실제 비밀번호 사이에 "no space"를 설명하는 것이 좋습니다 –

+0

SSH를 사용하는 경우 – imakin

31

- 단일 거래 옵션에 대해서는 아무도 언급하지 않습니다. 사람들은 데이터 일관성을 보장하기 위해 기본적으로 InnoDB 테이블을 사용해야한다. 이 경우 :

이렇게하면 덤프가 다른 트랜잭션과 격리 된 단일 트랜잭션에서 실행되어 부분 트랜잭션의 백업을 방지 할 수 있습니다.

예를 들어 사람들이 계정 크레딧으로 장비를 구매할 수있는 게임 서버를 보유하고 있다고 가정 해보십시오. 이 작업은 데이터베이스에 대해 기본적으로 있습니다

  1. 덤프 이러한 작업 사이에 무슨 일이 생기면
  2. ,

이제 자신의 무기에 다음 번에 기어를 추가 자신의 크레딧에서 금액을 공제하면 두 번째 작업이 SQL 덤프 파일에 덤프되지 않기 때문에 백업을 복원하면 사용자가 구입 한 항목을 잃게됩니다.

옵션이지만 기본적으로 mysqldump에서이 옵션을 사용하지 않는 이유는별로 없습니다.

+0

질문에 따라 로컬 PC에 덤프 파일을 저장하는 SCP 또는 SFTP 사용법을 언급해야합니다. 감사합니다. !!! –

+0

좋은 추가 !! –

18

이 주제는 Google 검색 결과의 첫 페이지에 표시됩니다. 따라서 새 코너에 대한 유용한 팁이 있습니다.

또한 SQL 덤프 및 한 줄에 그것을 gzip을 수 :

mysqldump -u [username] -p[password] [database_name] | gzip > [filename.sql.gz] 
2
mysqldump -h [domain name/ip] -u [username] -p[password] [databasename] > [filename.sql] 
+3

정말'-p [password]'가 아니라'-p [password]'입니까? –

+3

@ArtjomB. 예, 그리고 암호에 특수 문자가있는 경우 따옴표로 묶으십시오 :'-p'pa $$ w0rd !!!! '' –

-1

는 당신이 다른 방법을 선택할 수 있습니다

mysql -u [username] [databasename] 

을 그리고처럼 SQL 파일 선택 :

source mydumpdatabase.sql 
+0

백업 작성 방법이 아닌 백업 복원 방법입니다. – Quentin

관련 문제