superset 默认状态下,使用的是sqlite数据库, 由于sqlite性能问题现需要切换到mysql数据库下;
第一步准备好Mysql数据库服务
schema:superset_db
userName:root
password:root
superset所在服务器还需要安装mysql相关的依赖
yum install mysql-community-client yum install mysql-devel //安装Python连接mysql的依赖 pip install mysqlclient
第一步: 修改配置文件${superset}/config.py
vim config.py
# The SQLAlchemy connection string. #SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(DATA_DIR, 'superset.db') #SQLALCHEMY_DATABASE_URI = 'mysql://myapp@localhost/myapp' SQLALCHEMY_DATABASE_URI = 'mysql://root:[email protected]/superset_db?charset=UTF8' Entering Ex mode. Type "visual" to go to Normal mode.
第二步: 重新初始化密码
fabmanager create-admin --app superset
第三步:初始化数据库
superset db upgrade
第四步:加载examples
superset load_examples
第四步:初始化supersetsuperset init
第五步:启动服务器superset runserver
superset可以同时支持多个数据源, 开发人员可以通过控制台进行数据源管理
然后点击右上角的"+"添加数据源
只有勾选 “在SQL工具箱中公开”选型,开发人员才能在superset的SQL工具中使用该数据源;
SQLAlchemy URI 项需要录入正确的数据源地址,例如:mysql://root:[email protected]/superset_test_db?charset=utf8, root是用户名,XXXXXXXXXX是密码, superset_test_db是数据库schema,charset=utf8是指定数据源编码(很重要);
注意:录入完数据源uri之后点击“测试连接按钮” 返回 “Seems OK!” 表示连接成功,即可点击保存按钮!