基于本地项目的远程配置(部署+数据库)和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创建虚拟环境

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Robeck12138

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值