2012-01-30 10 views
1

OSX Lion에서 Python 2.7을 사용 중이며 Python에서 원격 SQL Db에 연결할 수 없습니다. 다음과 같은 오류가 발생합니다 :Python을 통해 MySQL에 연결 MySqlDb (1045 오류)

Traceback (most recent call last): 
    File "connectDB.py", line 39, in <module> 
    main() 
    File "connectDB.py", line 16, in main 
    db = MySQLdb.connect(HOST, USER, PASSWORD, DBNAME) 
    File "build/bdist.macosx-10.7-intel/egg/MySQLdb/__init__.py", line 81, in Connect 
    File "build/bdist.macosx-10.7-intel/egg/MySQLdb/connections.py", line 187, in __init__ 
_mysql_exceptions.OperationalError: (1045, "Access denied for user 'ekogan'@'dyn-209-2-217-168.dyn.columbia.edu' (using password: YES)") 

나는 PHP를 통해 액세스 할 수 있기 때문에 내 호스트와 사용자/작업을 알고 있습니다. 그러나 웬일인지 여기에서는 부정했다. 일부 SQL 버전 문제가있을 수 있습니까? 계속 진행하는 방법에 대해 완전히 확신 할 수 없습니다.

답변

2

PHP는 아마도 원격 호스트로 MySQL 서버에 액세스하지 않습니다. 파이썬이 아마 그렇습니다. 그러므로 권한을 확인하십시오.

+0

예, 방금 내 관리자에게 연락했으며 우리 중 누구도 원격으로 액세스 할 수 없음을 확인했습니다. 정보 주셔서 감사합니다. – genekogan

1

당신의 mysql.user 테이블을 검사 터미널을 열고

% mysql -u ekogan -p mysql 
mysql> select user, host, password from user where password = password(PASSWORD); 

위를 입력 따옴표로 둘러싸인 비밀의 값으로 PASSWORD을 변경할 수있는 권한이있는 경우 암호가 foobar 경우 (즉, PASSWORD 변경 ~ "foobar"). 사용자, 호스트 및 암호는 mysql.user 테이블의 항목과 일치해야합니다.

1
grant select,update,delete,insert on DBNAME.* to 'ekogan'@'dyn-209-2-217-168.dyn.columbia.edu' identified by 'PASSWORD';