2017-02-15 51 views
3

試圖建立氣流MySQL和而氣流嘗試過程中設置主鍵‘氣流initdb的’Apache Airflow - mysql'指定的密鑰太長;最大密鑰長度爲1000個字節

File "/usr/lib/pymodules/python2.7/MySQLdb/cursors.py", line 166, in execute 
self.errorhandler(self, exc, value) 
File "/usr/lib/pymodules/python2.7/MySQLdb/connections.py", line 35, in defaulterrorhandler 
raise errorclass, errorvalue 
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1071, 'Specified key was too long; max key length is 1000 bytes') [SQL: u'\nCREATE TABLE sla_miss (\n\ttask_id VARCHAR(250) NOT NULL, \n\tdag_id VARCHAR(250) NOT NULL, \n\texecution_date DATETIME NOT NULL, \n\temail_sent BOOL, \n\ttimestamp DATETIME, \n\tdescription TEXT, \n\tPRIMARY KEY (task_id, dag_id, execution_date), \n\tCHECK (email_sent IN (0, 1))\n)\n\n'] 

這個好惹了一段時間,我得到一個錯誤無法準確解決問題。

我知道關鍵是太長的數據庫,但我希望有另一種方式,我可以嘗試創建數據庫,以使其工作?

從這個例子http://site.clairvoyantsoft.com/installing-and-configuring-apache-airflow/我嘗試這樣做:

CREATE DATABASE airflow CHARACTER SET utf8 COLLATE utf8_unicode_ci; 

但仍然引起了錯誤。當我將CHARACTER SET更改爲latin1時,它能夠創建數據庫,但由於解碼錯誤,實際的氣流過程都無法運行。

任何想法?

回答

1

我想我能夠得到這個工作。我將我的原創數據庫更改爲CREATE DATABASE airflow CHARACTER SET ascii並更新了我的引擎以獲得/氣流?charset = ascii。似乎它現在工作(這是驚人的)

相關問題