2016-06-01 9 views
0

私は、HerokuのClearDBを使用してローカルMySQLデータベースをホストしようとしています。ビルドは成功ですが、アプリケーションにアクセスしようとするとアプリケーションが失敗します。ここで Heroku MySQL DB Error with Flask

は、(それが最初の行に失敗した)私のapp.pyコードです:

ここ
2016-06-01T14:48:48.720931+00:00 heroku[web.1]: Starting process with command `python app.py` 
2016-06-01T14:48:51.790883+00:00 app[web.1]: File "app.py", line 30, in <module> 
2016-06-01T14:48:51.790864+00:00 app[web.1]: Traceback (most recent call last): 
2016-06-01T14:48:51.790910+00:00 app[web.1]:  db = MySQLdb.connect(host="localhost", user="root", db="database") 
2016-06-01T14:48:51.790981+00:00 app[web.1]: _mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)") 
2016-06-01T14:48:51.790911+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect 
2016-06-01T14:48:51.790912+00:00 app[web.1]:  return Connection(*args, **kwargs) 
2016-06-01T14:48:51.790912+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/MySQLdb/connections.py", line 193, in __init__ 
2016-06-01T14:48:51.790937+00:00 app[web.1]:  super(Connection, self).__init__(*args, **kwargs2) 
2016-06-01T14:48:52.491629+00:00 heroku[web.1]: Process exited with status 1 

は何Herokuの設定プリントを次のとおりです。ここで

db = MySQLdb.connect(host="localhost", user="root", db="database") 
cur = db.cursor() 
query = """SELECT * from database""" 
cur.execute(query) 
data = cur.fetchall() 

がログ出力されます
CLEARDB_DATABASE_URL: mysql://actualurl 
DATABASE_URL:   mysql://actualurl 
MYSQL_DB:    database 
MYSQL_HOST:   localhost 
MYSQL_USER:   root 

答えて

0

あなたのアプリケーションがそれを使用していないことは明らかですので、あなたのHeroku設定をポストすることは何の意味もありません。 DATABASE_URL環境変数を使用するのではなく、データベースホストを "localhost"としてハードコードしています。

+0

これを修正すると、このエラーが発生します。_mysql_exceptions.OperationalError:(2005、 "Unknown MySQL server host – user6381226

+0

何を変更しましたか? –