2013-05-16 2 views
2

내가이 오류가 거부했다.는 MySQL 데이터베이스에 연결할 때

MySQL Community Server (5.6.0)를 설치하면 이전 버전으로 연결할 수 있습니다. 그러나 libmysql.lib과 .dll을 MySQL C/connector 소스 코드를 사용하여 직접 만들었을 때 위의 오류로 연결이 실패합니다. 따라서 제대로 연결하기 위해 관찰해야하는 DLL 파일을 빌드 할 때 소스 코드 내에 설정이있을 수 있다고 생각하게됩니다. 그것은 무엇일까요?

+0

실행중인 db 서버 버전은 무엇입니까? 질문에 언급 한 내용입니까, 아니면 커넥터 소스를 얻기 위해 설치 했습니까? – didierc

답변

2

이것은 커넥터 문제가 아니며 데이터베이스가 아닙니다.이 blog post은이 문제를 다룹니다. 기본적으로 암호 해싱은 4.1 이후부터 변경되었지만 이전 방법은 OLD_PASSWORD 함수를 사용하여 액세스했습니다. 그러나 버전 5.6에서는 인증 방법을 기반으로 연결을 거부하기로 결정했습니다. 첫 번째 단계로

  1. , 서버 --skip-secure-auth 시작 매개 변수를 사용하여 주변의 MySQL의 문서에 의해 암시 신속하고 더러운 일을 수행합니다 :

    그래서 당신은이 개 솔루션이이 얻을 수있는 단기 솔루션입니다 서버를 업그레이드 한 후 DB 연결이 다시 작동합니다.

  2. 기존 암호화 방법을 사용하는 모든 계정 암호를 새 암호로 업데이트하여 데이터베이스 내용을 업그레이드하십시오. 새로운 암호화를 효과적으로 사용하게되므로이 방법이 우선적입니다. 위의 스위치가 허용하는 불안한 상황을 피하십시오. 데이터베이스가 최신 상태가되면 스위치을 첫 번째 해결 방법에서 제거하는 것을 잊지 마십시오.
관련 문제