2010-08-03 2 views
1

제품에서 일부 테이블 데이터를 삭제해야합니다. db를 삭제하고 레코드를 삭제하려면 레코드의 백업을 다른 로컬 db에 복사해야합니다. 여기에는 두 개의 데이터베이스가 포함되며 두 개의 데이터베이스가 있습니다. 개의 서버/인스턴스가 있습니다.1 DB에서 다른 DB로 데이터 복사

이렇게하려면 SQL (mysql) 쿼리를 통해 수행 할 수 있습니까?

+0

@Sharpeye : 저는 mysql 쿼리를 통해이 작업을 수행 할 수 있다고 확신합니다. 그러나 phpmyadmin을 통해이 작업을 수행 할 수도 있습니다. 간단히 내보내기를 한 다음 가져 오기를 두려워합니까? –

+0

다른 데이터베이스 또는 다른 MySQL 서버 (인스턴스)? – Wrikken

+1

두 개의 서로 다른 서버에있는 두 개의 데이터베이스 사이로 연결됩니다. – Sharpeye500

답변

1

내가 기록을 얻을 수있는 곳 조건 mysqldump를 사용하는 것과 SQL 덤프에서 데이터베이스를 복원합니다. 저장 한 모든 항목을 저장 한 후에는 삭제할 수 있습니다. 이 명령은 프롬프트를 피하기위한 암호를 포함하여 명령 행에서 작동해야합니다 (선택 사항).

mysqldump -u user -pPassword -h hostname1 dbname tablename 
    --where 'field1="delete"' 
    --skip-add-drop-table --no-create-db --no-create-info > deleted.sql 
mysql -u user -pPassword -h hostname2 dbname < deleted.sql 
mysql -u user -pPassword -h hostname1 dbname -e 'DELETE FROM tablename WHERE field1="delete"' 
0

나는 똑같은 일을하고, 테이블에서 다른 서버로 데이터를 복사 한 다음 원본에서 삭제하려고합니다.

는 지금까지 두 가지 옵션 참조 : 다음 모두의 심각한 재구성해야합니다

다른 서버

  • 사용 Federated 스토리지 엔진에 해당 데이터베이스를 복제 로컬 데이터베이스에

    1. 복사 데이터를 우리 서버는 페더 레이 티드 또는 바이너리 로깅 (복제에 필요함)으로 활성화되어 있지 않습니다. 이것은 시간이 걸릴 것이고 다른 해결책이 발견 될 수 있다면 최선일 것입니다.

      프로세스는 매일 실행해야하므로 완전히 자동화해야합니다.

      아마도 세 번째 옵션은 cron 작업 물건을 자동화하는 것입니다 동일한 서버에 별도의 데이터베이스에

      • 사본
      • 백업 데이터를 그 위에 링크 된 폴더에서 mysqldump를 가진 데이터베이스 다른 서버도
      • 두 번째 서버에
  • 관련 문제