前情提要

最近项目需要天气数据(预报和历史数据)来作为算法程序的输入。 项目的甲方已经购买了天气数据, 依照他们的约定,天气数据的供应商会将数据以"文本" (.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 : --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允许远程访问

()改表。
# mysql -u root -p
mysql> use mysql;
mysql> update user set host = '%'where user= 'root';
mysql>select host, user from user; ()赋予任何主机访问数据的权限
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

python + docker, 实现天气数据 从FTP获取以及持久化(一)的更多相关文章

  1. python + docker, 实现天气数据 从FTP获取以及持久化(二)-- python操作MySQL数据库

    前言 在这一节中,我们主要介绍如何使用python操作MySQL数据库. 准备 MySQL数据库使用的是上一节中的docker容器 “test-mysql”. Python 操作 MySQL 我们使用 ...

  2. python + docker, 实现天气数据 从FTP获取以及持久化(四)-- 数据准备

    前情提要 在之前的文章里,我们已经掌握从FTP上面下载天气数据然后插入到数据库中. 但是如何将我们已有的数据放到生产环境中呢? 思考 首先,我们先简单的理一理现在的情况. 目前: FTP上面已有半个月 ...

  3. python + docker, 实现天气数据 从FTP获取以及持久化(五)-- 利用 Docker 容器化 Python 程序

    背景 不知不觉中,我们已经完成了所有的编程工作.接下来,我们需要把 Python 程序 做 容器化 (Docker)部署. 思考 考虑到项目的实际情况,“持久化天气”的功能将会是一个独立的功能模块发布 ...

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

    前言 经过前面两个小节的介绍,我们已经完成了MySQL数据库的搭建和数据库操作的事宜. 在本小节中,我们需要完成的任务是:使用python从FTP服务其上面获取文本文件. 搭建测试FTP服务器 LZ的 ...

  5. 毕设之Python爬取天气数据及可视化分析

    写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...

  6. C# 解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市

    百度天气 接口地址:http://api.map.baidu.com/telematics/v3/weather?location=上海&output=json&ak=hXWAgbsC ...

  7. 使用腾讯云无服务器云函数(SCF)分析天气数据

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:李想 无服务器云函数(SCF)是腾讯云提供的Serverless执行环境,也是国内首款FaaS(Function as a Service ...

  8. python爬虫爬取天气数据并图形化显示

    前言 使用python进行网页数据的爬取现在已经很常见了,而对天气数据的爬取更是入门级的新手操作,很多人学习爬虫都从天气开始,本文便是介绍了从中国天气网爬取天气数据,能够实现输入想要查询的城市,返回该 ...

  9. 用andtoid studio获取天气数据并解析适配

    1.申请拿到数据 可以用“聚合数据” 2.在android studio中导入需要的jar包 复制—>app—>libs—>粘贴—>右击—>Add As Library… ...

随机推荐

  1. 使用actioncable做的notification(GoRails教学,2课)

    GoRails视频系列: 1.   用actioncable建立Notifications 2.  见博客: 3.  非认证/登陆user不能使用actioncable 用ActionCable 建立 ...

  2. hdu2149巴什博弈输出

    一眼就能看出来的巴什博弈,只是要输出第一步取的值,如果m>n+1,输出m%(n+1),否则输出m到n,因为这是第一步 #include<map> #include<set> ...

  3. 识别User Agent屏蔽一些Web爬虫防采集

    识别User Agent屏蔽一些Web爬虫防采集 from:https://jamesqi.com/%E5%8D%9A%E5%AE%A2/%E8%AF%86%E5%88%ABUser_Agent%E5 ...

  4. Linux运维学习笔记-目录知识点总结

    目录知识点总结: Note: 1.创建一个/server/scripts目录,用于存放脚本(命令:mkdir -p /server/scripts) 2.安装软件时,安装路径统一为/usr/local ...

  5. ssh远程操作服务器

    登录方式 ssh account@192.168.xxx.xxx 输入密码 远程上传下载文件 上传: scp filepath acount@192.168.xxx.xxx:path filepath ...

  6. IO综合练习--文件切割和文件合并

    有时候一个视频文件或系统文件太大了,上传和下载可能会受到限制,这时可以用文件切割器把文件按大小切分为文件碎片, 等到要使用这个文件了,再把文件碎片合并成原来的文件即可.下面的代码实现了文件切割和文件合 ...

  7. Java进行数据库导出导入 亲测可用

    /** * @param hostIP ip地址,可以是本机也可以是远程 * @param userName 数据库的用户名 * @param password 数据库的密码 * @param sav ...

  8. Oracle序列和伪表

    创建序列 create sequence sq_teacher_tnostart with 10 从哪一个数字开始increment by 1 每次增长的数字maxvalue 999999999999 ...

  9. 几种Python执行时间的计算方法

    究竟是使用 time.clock() 精度高,还是使用 time.time() 精度更高,要视乎所在的平台来决定.总概来讲,在 Unix 系统中,建议使用 time.time(),在 Windows ...

  10. ballerina 学习二十五 项目docker 部署&& 运行

    ballerina 官方提供了docker 的runtime,还是比较方便的 基本项目创建 使用cli创建项目 按照提示操作就行 ballerina init -i 项目结构 添加了dockerfil ...