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 : --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获取以及持久化(一)的更多相关文章
- python + docker, 实现天气数据 从FTP获取以及持久化(二)-- python操作MySQL数据库
前言 在这一节中,我们主要介绍如何使用python操作MySQL数据库. 准备 MySQL数据库使用的是上一节中的docker容器 “test-mysql”. Python 操作 MySQL 我们使用 ...
- python + docker, 实现天气数据 从FTP获取以及持久化(四)-- 数据准备
前情提要 在之前的文章里,我们已经掌握从FTP上面下载天气数据然后插入到数据库中. 但是如何将我们已有的数据放到生产环境中呢? 思考 首先,我们先简单的理一理现在的情况. 目前: FTP上面已有半个月 ...
- python + docker, 实现天气数据 从FTP获取以及持久化(五)-- 利用 Docker 容器化 Python 程序
背景 不知不觉中,我们已经完成了所有的编程工作.接下来,我们需要把 Python 程序 做 容器化 (Docker)部署. 思考 考虑到项目的实际情况,“持久化天气”的功能将会是一个独立的功能模块发布 ...
- python + docker, 实现天气数据 从FTP获取以及持久化(三)-- python获取FTP数据
前言 经过前面两个小节的介绍,我们已经完成了MySQL数据库的搭建和数据库操作的事宜. 在本小节中,我们需要完成的任务是:使用python从FTP服务其上面获取文本文件. 搭建测试FTP服务器 LZ的 ...
- 毕设之Python爬取天气数据及可视化分析
写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...
- C# 解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市
百度天气 接口地址:http://api.map.baidu.com/telematics/v3/weather?location=上海&output=json&ak=hXWAgbsC ...
- 使用腾讯云无服务器云函数(SCF)分析天气数据
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:李想 无服务器云函数(SCF)是腾讯云提供的Serverless执行环境,也是国内首款FaaS(Function as a Service ...
- python爬虫爬取天气数据并图形化显示
前言 使用python进行网页数据的爬取现在已经很常见了,而对天气数据的爬取更是入门级的新手操作,很多人学习爬虫都从天气开始,本文便是介绍了从中国天气网爬取天气数据,能够实现输入想要查询的城市,返回该 ...
- 用andtoid studio获取天气数据并解析适配
1.申请拿到数据 可以用“聚合数据” 2.在android studio中导入需要的jar包 复制—>app—>libs—>粘贴—>右击—>Add As Library… ...
随机推荐
- 使用CAS实现无锁的SkipList
无锁 并发环境下最常用的同步手段是互斥锁和读写锁,例如pthread_mutex和pthread_readwrite_lock,常用的范式为: void ConcurrencyOperation() ...
- Eclipse.修改项目的JDK版本
1.我实际使用过程中,只是修改了 项目右键-->Properties-->左侧选择"Java Compiler" -->右侧的"JDK Complian ...
- android 官方demo地址
android官方demo地址都放在了github上:https://github.com/googlesamples
- 【Jmeter】 Report Dashboard 生成html图形测试报告
背景 最近在学习Jmeter相关的东西,今天看了下Jmeter的官方文档,没想到在入门指南(Getting Started)第二条中就看到了让人惊喜的东西:可以利用既有测试数据生成HTML格式的Rep ...
- 递归--练习1--noi3089爬楼梯
递归--练习1--noi3089爬楼梯 一.心得 根据输入,是要写连续输入多个值的程序 二.题目 3089:爬楼梯 总时间限制: 1000ms 内存限制: 65536kB 描述 树老师爬楼梯,他可 ...
- 雷林鹏分享:Ruby Socket 编程
Ruby Socket 编程 Ruby提供了两个级别访问网络的服务,在底层你可以访问操作系统,它可以让你实现客户端和服务器为面向连接和无连接协议的基本套接字支持. Ruby 统一支持应用程的网络协议, ...
- 007PHP文件处理—— 判断文件与操作文件fopen fread fclose is_executable is_readable is_writeable
<?php /** * 判断文件与操作文件fopen fread fclose * is_executable is_readable is_writeable */ //判断一个文件是不是一个 ...
- 本地绑定域名及host做快速解析与域名屏蔽处理
在电脑中成功安装好IIS后,打开C:\WINDOWS\system32\drivers\etc\用记事本打开hosts文件,把127.0.0.1 localhost复制,粘贴到最后,然后把loca ...
- LINQ 分页 和存储过程分页
存储过程分页 SELECT * FROM ( SELECT ROW_NUMBER() OVER(ORDER BY CreateDate DESC) AS RowNo, EstateAddress, E ...
- git 忽略不提交的文件3种情形
1..gitignore文件 :从未提交过的文件,从来没有被 Git 记录过的文件 也就是添加之后从来没有提交(commit)过的文件,可以使用.gitignore忽略该文件.只能作用于未跟踪的文件( ...