解决连接mysql数据库,airflow initdb报错ModuleNotFoundError: No module named 'MySQLdb'
报错如下图所示
此时根据提示pip install MySQLdb
,可恨继续报错,错误如下
此时不用着急,说明并没有这个版本的模块,即是MySQLdb这个模块,估计是某模块下的一个子模块,果然是这样的…
先修改一下airflow文件夹下的airflow.cfg配置文件:
将默认连接的sqlite数据库,改成如下配置:app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:[email protected]/airflow'
完成这一步之后,可以说是基本大功告成了,根据上面的配置,可以看到需要安装pysql这个模块,
执行pip install pysql
好了,问题完美解决。执行airflow initdb
,出现如下界面就表示成功了。
最后补充一下,这时候打开相应的数据库,会看到airflow这个数据库会存在很多数据表,再次验证成功解决: