如何将个人主机上的mysql服务发布到公网:frp内网穿透
用python连接mysql的方法
方法一:
1.设置清华镜像站:从国内下载安装包,提高下载和安装速度
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
报错:是因为pip版本太低了,更新修复一下pip的软件包
[root@python01 ~]# pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
ERROR: unknown command "config"
[root@python01 ~]# python3 -m pip install --upgrade pip
2.安装pandas数据分析工具:
pandas是知名的数据分析⼯具,pandas有完整的读取数据的⼯具,以及DateFrame数据框架,⽤
3.安装pymysql连接器
python连接mysql的工具:
pip3 install pymysql
pip3 install pandas
注意:
pip3 install pymysql
用于安装 Python 的 pymysql
库,pymysql
是一个用于在 Python 中连接和操作 MySQL 数据库的库。它提供了方便的接口和方法,让您能够执行数据库的查询、插入、更新和删除等操作。
例如,如果您要开发一个与 MySQL 数据库交互的 Python 应用程序,就可以使用 pymysql
来实现。
pip3 install pandas
则是安装 pandas
库。pandas
是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。
比如说,您可以使用 pandas
来读取和处理 CSV 文件、Excel 文件中的数据,进行数据清洗、数据分析等操作。
>>> import pymysql
>>> import pandas
>>> pymysql
<module 'pymysql' from '/usr/local/lib/python3.6/site-packages/pymysql/__init__.py'>
>>> pandas
<module 'pandas' from '/usr/local/lib64/python3.6/site-packages/pandas/__init__.py'>
>>> import pymysql as pm
>>> import pandas as pd
>>> pm
<module 'pymysql' from '/usr/local/lib/python3.6/site-packages/pymysql/__init__.py'>
>>> pd
<module 'pandas' from '/usr/local/lib64/python3.6/site-packages/pandas/__init__.py'>
>>> conn=pm.connect(
... host='123.249.27.70',
... user='abcd',
... password='abcd',
... database='test',
... port=6001);
>>> conn
<pymysql.connections.Connection object at 0x7faaaa7463c8>
>>> cursor=conn.cursor()
>>> cursor
<pymysql.cursors.Cursor object at 0x7faaaa79bbe0>
>>> sql="select * from student"
>>> sql
'select * from student'
>>> cursor.execute(sql)
5
>>> res=cursor.fetchall()
>>> res
((1, '章三', '男'), (2, '李四', '女'), (3, '小凤仙', '女'), (4, '章丘铁锅', '男'), (6, '孙颖莎', '女'))
>>> cursor.description
(('id', 3, None, 11, 11, 0, False), ('name', 253, None, 180, 180, 0, False), ('gender', 253, None, 16, 16, 0, False))
>>> head=[]
>>> desc=cursor.description
>>> for var in desc:
... print(var[0])
...
id
name
gender
>>> for var in desc:
... head.append(var[0])
...
>>> head
['id', 'name', 'gender']
>>> pd.DataFrame(data=res,columns=head)
id name gender
0 1 章三 男
1 2 李四 女
2 3 小凤仙 女
3 4 章丘铁锅 男
4 6 孙颖莎 女
方法二:
编写py脚本
和shell脚本一样python文件也可以称为py脚本,也是将python指令做一个集合
为了脚本更加的智能化和自动化,添加选择语句(智能)循环语句(自动化)
同时为了开发效率,可读性,做了方法,类,模块
这个脚本固定了mysql服务器的相关属性
这个脚本没有固定mysql服务器的相关属性
[root@python01 ~]# vim python_mysql_01.py
import pymysql
import pandas
class Python_Mysql_01(object):
def __init__(self):
print("======================")
def getConn(self):
conn=pymysql.connect(
host=input("sign host_ip|name:"),
user=input("sign database username:"),
password=input("sign database password:"),
database=input("sign database name:"),
port=int(input("sign port no "))
)
# print(conn)
return conn
def getRes(self,cursor,sql):
cursor.execute(sql)
# 获得查询的数据
data=cursor.fetchall()
# 表头
head=[item[0] for item in cursor.description]
# 组成pandas数据框 DataFrame
return pandas.DataFrame(data=data,columns=head)
if __name__=="__main__":
# 初始化Python_Mysql_01类,创建实例,pmp,之后所有的方法都可以在实例中调用
pmp=Python_Mysql_01()
# 获得conn
conn=pmp.getConn()
#获得游标
cursor=conn.cursor()
# print(cursor)
tablename=input("sign tablename")
df=pmp.getRes(cursor,"select * from "+tablename)
print(df)
二进制可执行文件
安装pyinstaller
pip3 install pyinstaller
使⽤pyinstaller⽣成可执⾏⽂件
pyinstaller --onefile xxx.py
130 pyinstaller --onefile python_mysql_01.py
python3 -m http.server 9971
136 cd dist/
138 ./python_mysql_01
139 cd
140 python3 -m http.server 8000