windows10下docker容器运行superset后怎么连接mysql,宿主机已经安装了mysql且可以正常使用,docker容器内也有mysql。windows没有安装python。
1条回答 默认 最新
- alizee_wu 2018-08-13 03:44关注
刚安装好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 databaseteamwork
;
create databaseteamwork
;
useteamwork
;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
),
keyteam_ibfk_1
(team_builderid
),
constraintteam_ibfk_1
foreign key (team_builderid
) referencesusers
(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
将原数据库改为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
解决 无用评论 打赏 举报
悬赏问题
- ¥15 求差集那个函数有问题,有无佬可以解决
- ¥15 【提问】基于Invest的水源涵养
- ¥20 微信网友居然可以通过vx号找到我绑的手机号
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名
- ¥65 汇编语言除法溢出问题