2013-03-08 5 views
2

asp.net을 통해 MYSQL 데이터베이스에 연결해야했습니다. 나는 데이터베이스와의 연결을 MySQL의 커넥터를 사용하고 있지만,이 일을하는 동안이 오류가 오전 : MySQL을 4.1 이상에서 enter image description hereAsp.Net의 원격 MySql 서버에 연결할 수 없습니다.

 
Authentication with old password no longer supported, use 4.1 style passwords. 
+0

[이] (http://forums.cpanel.net/f34/old-style-passwords-settings-when-using-mysql-5-x-150333.html)을 보았습니까? –

+0

내 연결 문자열은 다음과 같습니다.

답변

5

그들은 이전 버전과 호환되지 않는 새로운 프로토콜을 사용합니다. 그래서 이전 버전에서 4.1 이상으로 서버를 업그레이드 할 때 인증 오류 메시지가 표시됩니다.

버전 4.1 이전과 이후의 두 클라이언트에서 모두 데이터베이스에 연결해야하는 경우 두 개의 암호가 저장되어 있어야합니다. 하나는 오래된 길이고 다른 하나는 새로운 길입니다.

당신은 사용하여 새로운 방법으로 사용자 암호를 설정할 수 있습니다

SET PASSWORD for <username> = PASSWORD('new password') 
SET PASSWORD FOR 'steve'@'10.15.2.67' = PASSWORD('my secure password'); 

당신은 또한 사용하여 옛날 방식으로 암호를 설정할 수 있습니다 필요한 경우 :

SET PASSWORD for <username> = OLD_PASSWORD('new password') 
SET PASSWORD FOR 'steve'@'10.15.2.67' = OLD_PASSWORD('my secure password'); 

가에 큰 페이지가 MySQL manual은 프로세스를 자세히 설명합니다

서버가 실제로 4.1 이상이면 이전 암호 방법을 사용하는 것이 가능하지만 이것은 권장되지 않습니다.

이렇게하려면 --old-passwords 옵션을 사용하여 서버를 시작할 수 있습니다.

그래서 어느 서버는 업데이트했습니다 당신은 이전 클라이언트를 사용하는 - 또는 당신이 (지금 새 암호 시스템을 사용) 클라이언트가 업데이트하고 4.1

+0

이것은 대답이 아닌 답변과 같은 느낌입니다. – Kermit

+0

라이브 데이터베이스에 연결 중입니다. 라이브에서 내 비밀번호를 어떻게 변경할 수 있습니까? –

+1

@AarolamaBluenk 네 말이 맞아, 나는 게으르다. 나는 실제 답변이 될 수있는 해답을 업데이트했다. – Steve

0

확인하지만 아래에 서버에 연결 공유 호스트 환경에 있기 때문에이 작업을 수행 할 수있는 권한이 없다면 다음을 수행하십시오.

SET PASSWORD for <username> = OLD_PASSWORD('new password') 
SET PASSWORD FOR 'steve'@'10.15.2.67' = OLD_PASSWORD('my secure password'); 

무엇을 할 수 있습니까? 해결 방법을 찾지 못했고 호스팅 제공 업체가 경고없이 mysql 구성을 변경했거나 솔루션을 제공하지 않았습니다.

UNCOMPLETE 솔루션 이전 커넥터를 사용하도록 web.config를 강제 설정할 수 있습니다. 그것은 작동하는 것,하지만 mysql 오류가 발생 ... 그래서 거기에 버그가 어딘가에 커넥터에 있다고 생각합니다.

관련 문제