source

원격 시스템에서 MySQL 덤프를 사용하는 방법

nicesource 2023. 1. 28. 09:34
반응형

원격 시스템에서 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]

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

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

  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]

「 」를 인스톨 하지 않은 .mysql_client, 를 사용하고 있습니다.Docker「 」 「 」:

sudo docker exec MySQL_CONTAINER_NAME /usr/bin/mysqldump --host=192.168.1.1 -u username --password=password db_name > dump.sql

로 접속할 수 에는, 「」가 .copy다음 중 하나:

mysqldump -u your_db_user_name -p --set-gtid-purged=OFF --triggers --routines --events --compress --skip-lock-tables --verbose your_local_sql_db_name | mysql -u your_db_user_name -p -h your_remote_server_ip your_remote_server_db_name

원격 SQL 서버에 DB를 생성해야 합니다.

위의 명령어를 사용하여 로컬 SQL 서버 버전 8.0.23에서 8.0.25를 실행하고 있는 리모트 SQL 서버에 복사할 수 있었습니다.

이는 .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

반응형