2014-03-27 87 views
2

我在pythonanywhere.com上運行帶有MySQL的Django 1.6。在bash命令行:MySQLdb connection.py「can not connect」with Django

  • MySQLdb的已安裝PIP
  • 我可以通過命令行訪問MySQL數據庫$ mysql -h $your_IP =P 3306 -u username -p

然而,當我嘗試和執行python manage.py執行syncdb我把配這個結尾的錯誤:

File "/usr/local/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __init__ 
    super(Connection, self).__init__(*args, **kwargs2) 
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'mysql.server' (111)") 

在我的Django的設置我有

DATABASES = { 
     'default': { 
      'ENGINE': 'django.db.backends.mysql', 
      'NAME': 'mydatabasename', 
      'USER': 'myusername', 
      'PASSWORD': 'mypassword', 
      'HOST': 'mysql.server', 
      'PORT': '3360', 
     } 
    } 

我試着運行python manage.py test and python manage.py testserver並得到了完全相同的錯誤。我試過python -v manage.py等來獲取詳細的吐出來,似乎很多其他的東西無法導入?難道沒有找到settings.py?整個設置完全正常,本地完成,我所做的全部都是將它推送到服務器並更改數據庫設置。

任何想法???

回答

2

您的設置讀取端口爲'PORT': '3360',更改爲3306。另外,請確保mysql.server是有效的服務器主機。或者它可能只是localhost

+0

我確實將字符串更改爲一個整數,謝謝。但是,它仍然是一樣的錯誤。我試圖讓這個在linux服務器上工作,主機說完全使用:'mysql.server'。雖然我在開發過程中確實在本地計算機上使用了本地主機! – InfinteScroll

+1

這不是整數v/s字符串的問題。 3306和3360不一樣。 – karthikr

+0

好的。年度白癡獎給我!端口3306 vs 3360是我的問題。 :尷尬:多數民衆贊成你昨天晚上直到凌晨4點得到...對不起! – InfinteScroll