2013-05-03 4 views
0

실제로 내 문제를 요약 한 블로그 게시물을 발견했습니다. 그Python 패키지 (PyMySQL3)에서 MySQL 인증 문제가 발생할 수 있음

http://simon04.net/2013/03/python3-mysql/

에서 블로그 게시물은 가장 명확하지만 요약 할 수 있습니다 : 나는 현재 PyMySQL3라는 파이썬 패키지와 함께 원격 MySQL 데이터베이스에 액세스하기 위해 노력하고있어. 그러나 나는 계속 오류가 발생합니다 : "AttributeError : 'bytes'객체에 'encode'속성이 없습니다. 위의 블로그 게시물과 다른 연구에서 볼 때, 필자는 이전 데이터베이스를 가지고있는 데이터베이스와 관련이 있다고 생각합니다.

그러나 이전의 인증 방법이 MySQL 4.0에서 언젠가 단계적으로 사라진 것처럼 보이기 때문에 혼란 스럽습니다. 내가 가지고있는 데이터베이스는 MySQL 5.0.51a를 실행한다. 내 데이터베이스가 올바른 인증을 받아야하지 않습니까?

나는 잠시 노력하여 조금 좌절감을 나타 냈습니다. 희망을 갖고 누군가가 도울 수 있기를 바랍니다. 감사합니다, https://github.com/petehunt/PyMySQL/issues/64

For me this problem was due to the usage of the old authentication method (cf. http://dev.mysql.com/doc/internals/en/authentication-method.html). Creating a new user (resetting the password might work as well) and making sure that the password column for this user in the mysql.user table starts with a * (otherwise check the server configuration according to the above link), solved the problem for me.

에서

답변

0

좋아요, 이것에 대해 더 조사하는 동안 내 호스팅 회사 (aplus.net)가 최신 정보가 아닐 수도 있습니다. 어쨌든 회사를 전환하려고 했으므로 다른 회사와 새 계정을 개설했습니다. 이제 PyMySQL3에 연결하는 데 아무런 문제가 없습니다. 그래서 분명히 내 오래된 호스팅 회사는 최신이 아니 었습니다. 아니면 적어도 SQL 구성이 PyMySQL3을 깨고있었습니다.

답변 해 주셔서 감사합니다. 다행히도 호스팅 회사를 바꾸는 것이 항상 가장 좋은 대답은 아니기 때문에 많은 사람들이이 문제를 안고 있습니다. O

0

당신은 당신이 언급 한이 매우 버전으로 사용자를 만든 적이 있습니까?

이 스레드는 코드의 문제를 해결하는 방법을 보여줍니다. 문제를 해결하려면 추가 도움이 필요할 때 알려주십시오. 그에 따라 내 대답을 편집 할 것입니다.

+0

저는 모두 사용자가 MySQL5를 사용하고 있다고 확신합니다. 나는 웹 호스팅 회사를 통할 예정이므로 평소와 다르게 접근 할 수 있습니다. mysql.user 테이블을 볼 수는 없지만 사용자를 수정하기위한 인터페이스가 있습니다. 그들은 모두 DB 유형이 MySQL5라고 말합니다. 또한 암호가 "*"로 시작하는 것으로 설정되었는데 왜 암호가 변경 될지 확신하지 못합니다. 아직도 작동하지 않았다 – bluemoon12

+0

비록 서버 구성에 대해 - 뭔가가 엉망이 될 수도 있습니다. "NO"로 설정된 MySQL 플래그 secure_auth가 있음을 발견했습니다. 이것이 영향을 미칠 것이라고 생각합니까? 불행히도 MySQL 시스템 변수를 쉽게 변경할 수는 없습니다. 적어도 내가 접근 할 수 없다고 했어. – bluemoon12