Program Club

원격 컴퓨터에서 MySQL 덤프를 사용하는 방법

proclub 2020. 11. 6. 20:56
반응형

원격 컴퓨터에서 MySQL 덤프를 사용하는 방법


원격 서버에서 실행중인 mysql 데이터베이스를 백업하려면 어떻게해야하나요? 백업 파일을 로컬 PC에 저장해야합니다.


Mysqldump로 사용해보십시오

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

SSH에 대한 액세스 권한이 있습니까?

쉘에서이 명령을 사용하여 전체 데이터베이스를 백업 할 수 있습니다.

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

이것은 실제로 >"이전 명령의 출력을 가져 와서이 파일에 저장" 하는 연산자 뒤에 오는 하나의 명령 입니다.

참고 : -p와 mysql 비밀번호 사이에 공백이 없다는 것은 오타가 아닙니다. 그러나 -p플래그는 그대로두고 실제 비밀번호는 비워두면 비밀번호를 입력하라는 메시지가 표시됩니다. 때때로 이것은 bash 기록에서 비밀번호를 유지하는 데 권장됩니다.


--single-transaction 옵션 에 대해 언급 한 사람은 없습니다 . 사람들은 데이터 일관성을 보장하기 위해 InnoDB 테이블에 기본적으로 사용해야합니다. 이 경우 :

mysqldump --single-transaction -h [remoteserver.com] -u [username] -p [password] [yourdatabase] > [dump_file.sql]

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

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

  1. 크레딧에서 금액 공제
  2. 무기고에 장비 추가

이제 이러한 작업 사이에 덤프가 발생하면 다음 번에 백업을 복원 할 때 두 번째 작업이 SQL 덤프 파일에 덤프되지 않기 때문에 사용자가 구입 한 항목을 잃게됩니다.

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


이 주제는 내 Google 결과의 첫 페이지에 표시되므로 여기에 새로운 사용자를위한 유용한 팁이 있습니다.

SQL을 덤프하고 한 줄로 gzip 할 수도 있습니다.

mysqldump -u [username] -p[password] [database_name] | gzip > [filename.sql.gz]

mysqldump -h [domain name/ip] -u [username] -p[password] [databasename] > [filename.sql]

여기에서 모든 조합을 시도했지만 이것은 나를 위해 일했습니다.

mysqldump -u root -p --default-character-set=utf8mb4 [DATABASE TO BE COPIED NAME] > [NEW DATABASE NAME]

.sql 파일을 성공적으로 백업 한 후 백업을 복원하는 방법입니다.

mysql -u [username] [databasename]

다음 명령으로 SQL 파일을 선택하십시오.

source MY-BACKED-UP-DATABASE-FILE.sql

참고 URL : https://stackoverflow.com/questions/8444108/how-to-use-mysql-dump-from-a-remote-machine

반응형