내 MySQL 데이터베이스에 대해 "backup"이라는 사용자를 생성하고 특정 비밀번호를 제공했습니다.
이제 다음 명령을 실행하려고 합니다.
sudo mysqldump --user=backup -password=SuperS3f@kePass --all-databases > all_databases.sql
결과적으로 다음과 같은 오류가 발생합니다.
mysqldump: Got error: 1045: Access denied for user 'backup'@'localhost' (using password: YES) when trying to connect
루트 mysql 사용자를 사용하여 sudo를 사용하지 않고 시도했지만 동일한 오류가 발생합니다.
MySQL 버전: mysql Ver 14.14 Ubuntu 17.10의 Distrib 5.7.22
답변1
아마도 다음과 같이 설명될 것입니다.
호스트 와일드카드가 'localhost'와 일치하지 않습니다.
localhost
이는 mysql의 경우 연결은 실제로 UNIX 소켓(아마도 /var/run/mysqld/mysqld.sock
)에 연결하는 것을 의미하고 연결은 127.0.0.1
IPv4를 사용하여 에 연결하는 것을 의미한다는 사실과 관련이 있습니다 localhost
. 그래서 그들은 접근 방식을 차별화하기로 결정했습니다.
이러한 경우인지 확인하려면 다시 시도해 보세요.
sudo mysqldump -h 127.0.0.1 --user=backup -password=SuperS3f@kePass --all-databases > all_databases.sql
그런 다음 액세스 권한을 수정합니다(예 'backup'@'localhost'
: ).