source

mysqdump 액세스 거부됨

factcode 2023. 9. 16. 09:56
반응형

mysqdump 액세스 거부됨

ssh의 sqldump를 사용하여 백업을 시도할 때 다음 명령을 기계 10.64.1.1에서 실행합니다.다음과 같은 오류가 발생합니다.

mysqldump --user=test -p=password --host=10.64.1.2 --tab=. databasename tablename

mysqldump: Got error: 1045: Access denied for user 'test'@'10.64.1.1' (using password: YES)하려고 할

그러나 동일한 사용자와 비밀번호를 사용하여 mysql에 접속할 수 있습니다.

mysql --user=test -p[password]

사용자: :test@10.64.1.1

SSL:Not in use

:stdout

사용하기: :''

기호 사용: ;

버전: :5.0.91-50-log Percona SQL Server, Revision 73 (GPL)

버전: :10

:10.64.1.2 via TCP/IP

업데이트:

문서: mysql 문서를 :--password[=password]아니면-p[password].

내 비밀번호에 특별한 기호가 포함되어 있기 때문에@를 올바르게 할 수 Mysql은 Mysql을 사용합니다.불만 사항:

mysqldump: Got error: 1044: Access denied for user 'test'@'%' to database

CMD를 실행해야 합니다.관리자로서 EXE:

cmd.exe --> Administrator로 실행을 마우스 오른쪽 단추로 클릭한 다음 명령을 입력합니다.

mysqldump -u[password] -p[password] -h[ip or name] 당신의 데이터베이스 이름 > c:\sqlfile.sql

잘 될 겁니다.

-p를 사용하거나 --password를 사용할 때 =를 분실해야 할 것 같습니다.

--password[=password], -p[password]

서버에 연결할 때 사용할 암호.단축 옵션 양식(-p)을 사용하면 옵션과 암호 사이에 공백을 둘 수 없습니다.명령줄에서 --password 또는 -p 옵션 뒤에 암호 값을 생략하면 암호 값을 입력하라는 메시지가 표시됩니다.명령줄에서 암호를 지정하는 것은 안전하지 않은 것으로 간주해야 합니다.섹션 6.6 "비밀번호 보안 유지"를 참조합니다.

주제가 아주 오래된 것은 알지만, 저도 우연히 같은 문제가 생겼습니다.비밀번호에 사용된 특수문자가 문제라는 것을 알게 되었습니다. 안티슬래시:로티께야다와다e께enh로:dith티와ty--password=123\@456 따옴표를 사용하여를용호는n용r를--password='123@456'

Plesk를 통해 생성된 DB 사용자에게도 동일한 문제가 발생하였습니다.사용자에게 단일 데이터베이스에 대한 권한이 있습니다.데이터베이스 이름을 지정하면 위에 언급한 오류가 발생합니다.는을 -A모든 데이터베이스에 대해 덤프가 작동합니다.

윈도우에서는 디렉터리를 만든 다음 *.sql 파일을 백업 디렉터리에 버림으로써 해결했습니다.

C:\backup

: 가 에는 가 에는 .
] [ ]다합니다.

mysqldump -u[username] -p[password] -h[ip] yourdb > C:\backup\sqlfile.sql

효과가 있었습니다:)

덤프를 작성하려는 장소가 원인일 수도 있습니다.쓰기mysqldump -u[username] -p yourdb > D:\backup\sqlfile.sql에 대신에mysqldump -u[username] -p yourdb > sqlfile.sql내 문제를 해결했습니다.

.=연결 옵션에 대해 (선택 기호)를 입력합니다.당신은 다음을 원합니다.

mysqldump -u test -ppassword -h 10.64.1.2 ...

기타 옵션에 대한 자세한 내용은 문서를 참조하십시오.

여기 관리자로서 cmd 라인을 실행할 때 작동한 것이 있습니다. -p 뒤에 비밀번호를 입력하지 마십시오. 비밀번호를 입력하라는 메시지가 자동으로 표시되어 작동합니다.

이 명령으로 시도하는 중

mysqldump --user=root -p --host=127.0.0.1 --databases database_name [database_name_2,...] > dump.sql

문제는 C:/ 위치에 파일을 생성하기 위한 추가 액세스가 필요하다는 것입니다. 따라서 mysqldump -u root -p criteric classics > C:\Users\habib_s9ayvfl\Desktop\classics.sql을 사용하여 해결하십시오.

이 페이지 https://dev.mysql.com/mysqldump-copying-database 에 따라 콘솔 창(cmd 등)을 열고 mysql 설치 폴더로 이동합니다.f.e. c:\mysql 다음 bin 폴더로 이동하므로 c:\mysql\bin이 있습니다.

그런 다음 입력:

mysqldump source_db_name -uuser_name -ppassword  > target_database.sql

-u 이후에는 빈칸이 없는지 확인하세요!같은 -p! 빈칸 없음!작업을 마치면 다음을 입력합니다.

mysqladmin create target_database -uuser_name -ppassword

이제 target_database에서 데이터를 마이그레이션할 수 있습니다.새 데이터베이스에 sql:

mysql target_database < target_database.sql -uuser_name -ppassword

이것은 데이터베이스를 같은 서버에, 새로운 서버에 복제하는 매우 "간단한" 방법입니다.그리고 여기 내 설명은 단순하고 멍청하지만 언젠가 누군가에게 유용할 수도 있습니다 :-)

언급URL : https://stackoverflow.com/questions/5767036/mysqldump-access-denied

반응형