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 @   TonyZhang24  阅读(522)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示