已經使用中的superset更改默認數據源sqlite到mysqlpython
1.提取sqlite db(因爲當前使用 docker 須要到宿主)
docker cp CONTAINER_NAME:/var/lib/superset/superset.db /optmysql
2.數據導出
而後使用 navicat 數據庫工具打開sqlite文件選擇導出嚮導csv數據保存到一個文件夾sql
3.建立mysql數據庫與帳號docker
4.安裝superset python mysql支持 修改superset 數據庫config(這個網上不少配置)數據庫
5.而後使用 superset db upgrade 初始化mysql數據表結構(若是直接導入sqlite導出的csv字段默認都是varchar255,這個會有問題)工具
6.更改數據表,刪除所有數據表外鍵(刪除外鍵是我這邊的作法,具體本身能夠優化,這裏建議暫停superset來操做會快些)優化
7.更改部分報錯類型
Incorrect datetime value: '0000-00-00 00:53:00' for column 'last_login' at row 1
[ERR] INSERT INTO new_superset
.ab_user
code
刪除 ab_user.cvs last_login created_on changed_on 數據
同時ab_user表更改last_login,created_on,changed_on 字段類型爲timestamp(6)sqlite
1406 - Data too long for column 'sql' at row 1
[ERR] INSERT INTO new_superset
.query
query表更改sql,'executed_sql' 字段類型longtext 索引
1062 - Duplicate entry '[impala].[dw]' for key 'name'
[ERR] INSERT INTO new_superset
.`ab_view_menu
刪除惟一索引
dbs.password 若是亂碼須要刪除,否則打開數據源頁面會報錯
8.使用navicat導入嚮導導入csv數據到mysql