您的位置:首页 > 健康 > 养生 > 利用frp将内网MySQL发布至外网、编写python脚本连接MySQL查询表信息

利用frp将内网MySQL发布至外网、编写python脚本连接MySQL查询表信息

2024/12/23 1:05:38 来源:https://blog.csdn.net/weixin_69088860/article/details/141066575  浏览:    关键词:利用frp将内网MySQL发布至外网、编写python脚本连接MySQL查询表信息

1、利用frp将内网MySQL发布至外网

获得frp服务端信息

创建frp客户端

vim frpc.ini
[common]
server_addr =123.249.27.70   
# frp服务端ip地址
server_port = 7000
# 服务器端口
token=15773141955
# 代理标识
[kk]
# 被代理的主机名称
type = tcp
# 代理服务类型
local_ip = 127.0.0.1
# 本地ip
local_port = 3306
# 本地被代理端口
remote_port = 6077
# 选择代理后的端口
[root@master_sql frp_0.33.0_linux_amd64]# ./frpc -c ./frpc.ini
2024/08/09 09:41:04 [I] [service.go:282] [35411ff5ed285277] login to server success, get run id [35411ff5ed285277], server udp port [0]
2024/08/09 09:41:04 [I] [proxy_manager.go:144] [35411ff5ed285277] proxy added: [kk]
2024/08/09 09:41:04 [I] [control.go:179] [35411ff5ed285277] [kk] start proxy success
# 代理成功
2、编写python脚本连接MySQL查询表信息

1.设置清华镜像站(从国内下载安装包,提⾼下载和安装速度)

pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

2.安装pandas数据分析⼯具(pandas是知名的数据分析⼯具,pandas有完整的读取数据的⼯具,以及DateFrame数据框架,⽤于保存从数据库中读取的数据)

yum -y install pandas

3.安装pymysql连接器(oracle为开发者提供的python管理mysql的⼯具,通过这个⼯具,就恶意在不替原有代码的情况下,应对数据库软件的升级)

yum -y install pymysql

4.编写脚本

import pymysql as pm
import pandas as pd
​
class Python_Mysql01(object):def __init__(self):print("test")print("=====================")
​def getConn(self):conn=pm.connect(host=input("sign host_ip|name:"),user=input("sign database user:"),password=input("sign database password:"),database=input("sign database name:"),port=int(input("sign port on:")))
#               print(conn)return conn
​def getRes(self,cursor,sql):cursor.execute(sql)# 获得查询的数据data=cursor.fetchall()
​# 获得表头head=[item[0] for item in cursor.description]
​# 组成pandas数据框 DataFramereturn pd.DataFrame(data=data,columns=head)
​
if __name__=="__main__":# 初始化Pyhton_Mysql01类,创建实例:pmp,之后所有的方法都可以在实例中调用pmp=Python_Mysql01()# 获得connconn=pmp.getConn()
​# 获得游标cursor=conn.cursor()
#       print(cursor)
​tablename=input("sgin tablename:")df=pmp.getRes(cursor,"select * from " + tablename)print(df)
​print("OK!")print("=====================")

5.部署为⼀个二进制的可执⾏⽂件

(1)安装pyinstaller

pip3 install pyinstaller

(2)使⽤pyinstaller⽣成可执⾏⽂件

pyinstaller --onefile xxx.py
# py⽂件中必须是有 if __name__=="__main__":
# xxxxx

6.python模块 发布web服务

python3 -m http.server 9971

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com