Ubuntu Server 16.04 xenial의 LEMP 스택에서 실행한 mysql -u root -p
다음(루트의 비밀번호) mysql 셸 내부에서 다음을 실행했습니다.
mysqldump --databases "${domain}" > test.sql
그러나 어떤 이유로 이것은 실패합니다.
오류 1064(42000): SQL 구문이 잘못되었습니다. 1행 "mysqldump --databases MY_DB_NAME > dump.sql" 근처에서 사용할 올바른 구문은 MySQL 서버 버전 설명서를 확인하세요.
이 간단한 mysqldump 명령이 실패하는 이유는 무엇입니까?
고쳐 쓰다:
Mysql CLI 외부에서 동일한 명령을 실행해도 실패합니다.
mysqldump --databases "${domain}" > test.sql
mysqldump: 오류 발생: 1045: 연결을 시도하는 동안 'root'@'localhost' 사용자에 대한 액세스가 거부되었습니다(비밀번호 사용: NO).
답변1
mysqldump
프로그램이다. SQL 문이 아닙니다. mysql>
프롬프트에서 실행 하지 않고 시스템 셸 프롬프트에서 실행합니다.
답변2
사용자 및 비밀번호 자격 증명이 아닌 이름만 제공했습니다.
이것은 작동합니다:
mysqldump -u root -p"${rpsw}" "${domain}" > test.sql