栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

基于本地项目的远程配置(部署+数据库)和MySQL Server数据Tables的可视化实现

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于本地项目的远程配置(部署+数据库)和MySQL Server数据Tables的可视化实现

基于本地项目的远程配置(部署+数据库)和MySQL Server数据Tables的可视化实现

我们经常使用python处理数据,一般会将数据存入MySQL Server的数据库中,方便以后的调用。为了实现我们的目标,我们这一介绍一个完整的项目部署方案。

首先,我们将本地项目部署到服务器上。我们之所以不直接在服务器上运行项目:一方面,我们希望使用远程服务器的快速处理能力来运行项目。另一方面,我们希望在本地监控运行情况,随时做出调整。

一、本地项目远程化

通过Pycharm IDE将本地的项目部署到远程服务器上。我们首先在本地创建一个python的开发项目。然后我们点击工具栏上的Tools——>development——>Configuration

建立连接

首先点击左上方的“+”号,为连接的服务器创建名称,然后点击图中3位置,添加SSH连接的configuration信息

SSH Configuration需要添加的信息如下:

  • HOST:连接主机的地址
  • User Name:连接主机上你的用户名称
  • Authertication type:选择验证方法(password密码)
  • Password:输入密码

最后,点击测试连接,显示成功就表示没问题!

文件和代码上传地址

连接成功之后,点击apply则自动退出,点击图中Mapping。可以看到有local path和Deployment path。

  • local path:就是本地项目(数据+代码)的地址
  • Deployment path:就是项目需要上传的地址,点击后会自动弹出服务器上文件供选择。


选择完成后,点击应用即可。到此项目的远程位置部署已完成。接下来是连接远程服务器上的python解释器。

python interpreter

首先进入python Interpret setting界面

  • 1 点击按钮 1 选择Add
  • 2 选择SSH interpreter
  • 3 选择存在的server configuration

    点击了Next之后,需要配置python解释器的位置,已经需要同步远程代码的位置。
  • 1 python解释器选择服务器端的。如果不清楚服务器端的python在什么位置,或者不清楚如何在服务器端创建针对特定环境的虚拟python环境。请参考文章
  • 2 Sync folders: 建议选择项目部署的位置,确保代码和文件在一个地方便于读写。
    最后点击finish,完成全部配置


到目前位置,所有的配置已经完成。等待项目上传完成之后,即可在本地pycharm上编写项目。远程运行之后在本地查看结果和迭代项目。

二、远程数据库部署(MySQL)

在linux服务器上安装MySQL数据库

安装

使用dnf对MySQL进行安装。

sudo dnf install @mysql

激活MySQL的自动启动

sudo systemctl enable --now mysqld

检查MySQL的状态

sudo systemctl status mysqld

如果结果为下图,则表示MySQL已经正常运行

安全性设置

这一步是对服务器上MySQL的链接安全进行一系列的配置:其中具体的内容包括

(1)设置是否需要密码:y
(2)选择密码安全性要求:0(low),1(mid),2(high)
(3)键入自己的密码
(4)移除匿名用户:y (保证账户安全)
(5)是否不允许远程访问?:n(这里的问题是相反的哦,所以是n)
(6)是否移除test数据库:
(7)重载权限列表:

设置远程访问权限

为了能够进行远程访问服务器端的MySQL数据库,这里需要对数据库的host进行配置,因为默认的host=localhost,仅支持本地访问。因此这里需要开启host的访问权限。具体操作如下

进入MySQL数据库,其中-u表示以什么用户登录(紧跟的root表示为root用户),-p表示的是密码(可以不输入)

> mysql -uroot -p

进入MySQL之后,输入如下命令。其中update host=‘%’则是表示对来访的host不限。无论什么IP都可以远程访问

> use mysql;
> update user set host='%' where user='root';

更新设置的权限

>flush privileges
防火墙端口3306开启

因为需要远程访问,MySQL自动占用的端口就是3306,我们需要开启这个端口以保证远程访问的顺利链接。

检查打开的端口

sudo firewall-cmd --list-ports

如果3306端口不在已打开的端口list中,我们需要对其进行开启。

sudo firewall-cmd --add-port=3306/tcp --permanent

最后重载防火墙即可

sudo firewall-cmd --reload
测试链接

随便选取一个非本地主机的电脑,例如我们使用一个windows电脑,打开CMD。输入以下命令;

如:MySQL 连接远程数据库(192.168.5.116),用户名为“root”,密码“123456”

C:/>mysql -h192.168.5.116 -uroot -p


上图结果就表示已经完成,MySQL数据库可以远程访问。

三、运行项目并将数据存储到数据库

本地项目建立MySQL链接,首先要确保我们的MySQL已经开启。在PyCharm IDE中,我们可以直接选择Database进行链接。这样方便我们的对数据库数据读入和输出进行检查。

  • 1 选择Databse
  • 2 点击‘+‘来选择数据源为MySQL


然后在数据源内输入远程或者本地MySQL Server的地址信息,以及用户名和密码,从而保证PyCharm中项目实时和数据库链接。

  • Name:自己随意取
  • Host:MySQL所在的服务器地址,端口为默认3306
  • User:为MySQL的用户名称
  • Password:为该用户的密码(确保MySQL链接)

最后点击测试,显示成功则表示链接没有问题


随后,我们在Database项目栏中就可以看到连接的数据库,并且右键——>New——>Query Console。可以打开MySQL命令窗口,些mysql命令即可。
我们测试命令:

show database;

下图可以看到,show database命令会显示出当前所有的数据库。

最后,我们编写程序来向数据库写入数据,查询数据;这里我们使用的是pymysql包

import pymysql

#进行链接 # Connect to the database
connection = pymysql.connect(host='116.57.68.183', user='root', password='1993120@Chen', database='test_db')
#创建执行命令的光标
cursor = connection.cursor()

#执行一个查询,查询当前数据库版本
cursor.execute("SELECT VERSION()")  #execute是执行sql语法的地方
data = cursor.fetchone()
print(f"database version is {data}")


#创建一个数据表EMPLOYEE()
cursor.execute("CREATE TABLE IF NOT EXISTS
                EMPLOYEE2(
                FIRST_NAME VARCHAR(25) ,
                LAST_NAME  VARCHAR(25),
                AGE INT,
                SEX CHAR(1),
                INCOME FLOAT,
                DATIME DATE
                )")

#EMPLOYEE的数据
name = 'mac'
name2 = 'mohan'
age = '20'

sql = f"""INSERT INTO EMPLOYEE2(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME, DATIME)
         VALUES ('{name}', '{name2}', {age}, 'M', 2000, '2021-10-11')"""
print(sql)

#执行操作
cursor.execute(sql) #sql语句执行
connection.commit() #数据库执行

#选取数据
sql2 = "SELECT * FROM EMPLOYEE WHERe INCOME > %s" % (1000)
cursor.execute(sql2)

result = cursor.fetchone() #选择匹配的一个数据
print(result)

更加具体的python操作MySQL的命令和方法参考:Reference

四、本地MySQL workbench链接远程数据库实现可视化

经历了前面的工作,我们已经在数据库中有了很多数据。除了读写数据之外,我们也希望可视化数据之间的关系,对数据进行分析。这个时候,我们可以借助MySQL workbench来实现

本地workbench和server链接

在主界面上,点击Database,在其中选择Reverse engineer

随后界面就会跳转到配置链接信息上。此时就需要一步步对链接信息和选择数据库,tables进行处理。我们建立和MySQL server的链接,输入配置信息。

选择需要的数据库


在选择对象的时候,可以根据自己的情况,筛选需要和不需要的tables

数据展示


按照自己的需求做进一步的处理即可。

Reference

python操作MySQL
python创建虚拟环境

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/529425.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号