• 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

  • 相关阅读:
    整合Spring与Hibernate
    基本正则
    vue权限指令
    vue数字动态转换大写
    element ui 表格动态生成多级表头、一级表头,可无限嵌套
    vuex和vue-router全家桶
    element表格内容过多title提示
    HBuilder打包App方法
    mui底部选项卡切换页面
    mui框架的地步选项卡公用加载对应页面demo
  • 原文地址:https://www.cnblogs.com/atuotuo/p/9190518.html
Copyright © 2020-2023  润新知