python + docker, 实现天气数据 从FTP获取以及持久化(一)

前情提要

最近项目需要天气数据(预报和历史数据)来作为算法程序的输入。 项目的甲方已经购买了天气数据, 依照他们的约定,天气数据的供应商会将数据以"文本" (.TXT)的方式发到FTP上面。 

因此,我们需要将这些数据从FTP上面获取出来,并做好持久化工作。以备我们算法程序的使用。

 

持久化准备

由于项目的需要和考虑历史的一些因素,我们这边的数据库选型时MYSQL。她作为一个开源的关系型数据库,个人感觉还是非常不错滴~~

此外,利用Python和docker作为开发与部署(devops)相结合的模式,在业界也是非常流行的一种方式。

 

这里我们先主要介绍一下如何使用docker部署mysql环境:

 

1.  获取 MySQL 镜像

# docker pull mysql:8.0

 

2. 启动 MySQL 容器

# docker run -d -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 --name test-mysql -v /home/ct/mysql/data:/var/lib/mysql mysql:8.0

注: 我们在这里同时设置了:

1. 暴露在宿主机上的端口3306;

2. 数据挂载点 -v /home/ct/mysql/data;

 

 

3.  进入 mysql 容器,验证本地登录

# docker exec -it test-mysql /bin/bash
# mysql -u root -ppassword

 

 

 4. 设置权限,允许远程root用户访问

 
MySQL允许远程访问

(1)改表。
# mysql -u root -p 
mysql> use mysql; 
mysql> update user set host = '%'where user= 'root'; 
mysql>select host, user from user;

 (2)赋予任何主机访问数据的权限 
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; 
//使修改生效 
mysql> flush privileges; 
//退出MySQL服务器 
mysql> EXIT

我这里用的是第二种方式,成功!!

 

感谢大家的收看,欢迎留言交流哦!!

预祝大家端午节假日有个好心情~~

 

参考资料:

https://hub.docker.com/_/mysql/

https://www.linuxidc.com/Linux/2017-03/142404.htm

posted @ 2018-06-16 14:47  TonyZhang24  阅读(514)  评论(0编辑  收藏  举报