superset链接本地mysql数据库

时间:2021-05-03 06:04:48

  刚安装好superset的时候大家都知道是用的其自动生成的sqllite数据库,如果我们想让器链接到自己数据库,给大家分享一下我的方法,以mysql为例:

1.安装好数据库mysql:

$ sudo apt-get install mysql-server

$ sudo apt-get install mysql-client

$ sudo apt-get install libmysqlclient-dev

安装过程中需要设置启动mysql密码,必须记住。

2.启动mysql,并创建数据库

$ mysql -u root -p

输入密码加入以后,命令:

mysql> create database teamwork

teamwork为库名

然后操作数据库,可以用写好的sql脚本文件:

drop database `teamwork`;
create database `teamwork`;
use `teamwork`; create table `teams`
(`team_id` int(11) not null auto_increment,
`team_name` varchar(50) not null,
`team_intro` varchar(500) not null,
`team_builderid` int(11) not null,
primary key(`team_id`),
key `team_ibfk_1` (`team_builderid`),
constraint `team_ibfk_1` foreign key (`team_builderid`) references `users` (`user_id`) on delete cascade on update cascade
)engine = innodb default charset=utf8; insert into teams values (1,'团队1','篮球群','1'),
(2,'团队2','兴趣爱好','1'),(3,'团队3','群','1'),(4,'团队4','篮球群','2');

将这个文件保存为teamwork.sql,终端执行命令:

$ mysql -u root -p teamwork</home/jiang/py3env/teamwork.sql

上面的命令是在数据库teamwork中执行sql文件,注意/home/wang/py3env/teamwork.sql为存放路径,teamwork是已有的数据库。

输入密码后可键入命令,查看是否成功:

mysql> show database;

mysql> use teamwork;

mysql> show tables;

3.配置superset配置文件,config.py

superset链接本地mysql数据库

将原数据库改为myqsl。

4.重新配置登录帐号

  这个时候数据库是新的状态,之前在sqlite中的登录帐号已经没有了需要重新设置一下:

$ (py3env)jiang@ubuntu:~/py3env$ fabmanager create-admin --app superset

$ (py3env)jiang@ubuntu:~/py3env$ superset db upgrade

$ (py3env)jiang@ubuntu:~/py3env$ superset init

注意这些操作都是在虚拟环境激活的情况下完成的。

这个时候重新启动superset就完成了:

$ (py3env)jiang@ubuntu:~/py3env$ superset runserver

具体这个东西怎么用,后面在研究补充。。。