mysqldump의 오류를 어떻게 무시합니까?


12

데이터베이스를 덤프 할 때

mysqldump: Couldn't execute 'show create table `some_table`': execute command denied to user 'some_user'@'%' for routine 'some_routime' (1370)

덤핑이 멈 춥니 다.

이런 종류의 문제가 발생할 때 mysqldump를 계속 사용하려면 어떻게해야합니까? Google의 10 분 동안 아무런 도움도받지 못했습니다.

내가 사용한 명령은 다음과 같습니다.

mysqldump -u username -h localhost --port=4406 -p --databases database_name --skip-lock-tables --force > database_name.sql

답변:


27

남자 mysqldump

-f, --force         Continue even if we get an sql-error.

좋아, 나는 이것이 실패라고 생각했지만 분명히 효과가 있었다. 덤프가 완료된 것으로 보이지만, 오류가 끝날 때 발생하여 덤프가 실패한 것처럼 보입니다.
채드 존슨

그는 우리에게 보여준 명령에 이미 --force 옵션을 제공했습니다.
Zoredache

1
죄송합니다 몰랐습니다.
chocripple

1
@Chad Johnson은 --force를 사용하지 않고 클린 백업을 얻을 수 없으면 백업이 실패했다고 주장 할 수 있습니다. 강제 옵션은 중요한 오류를 억제합니다. 의존하는 백업 스크립트에서 --force를 사용하지 마십시오.
Zoredache

이것은 로컬로 작업하기 위해 데이터베이스 덤프를 얻을 수 있도록하기위한 것입니다. 중요한 것은 없습니다.
채드 존슨

1

AFIAK, 당신은 할 수 없습니다. 실행하려면 충분한 권한이 필요합니다 mysqldump. 왜 execute실행중인 사용자 에게 권한을 부여하지 않았 습니까?


2
회사에서 다른 부서를 거치도록 강요하기 때문에 :(
Chad Johnson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.