![MySQL 덤프, 올바른 사용자 이름과 비밀번호로 1045 액세스가 거부되었습니다.](https://linux55.com/image/133377/MySQL%20%EB%8D%A4%ED%94%84%2C%20%EC%98%AC%EB%B0%94%EB%A5%B8%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%9D%B4%EB%A6%84%EA%B3%BC%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EB%A1%9C%201045%20%EC%95%A1%EC%84%B8%EC%8A%A4%EA%B0%80%20%EA%B1%B0%EB%B6%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
내 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'
: ).