今天跟大家分享两种场景的python连接MySQL方法;
场景一:连接远程MySQL
首先,安装pymysql;在命令行执行pip install pymysql指令。
然后,导入pymysql;
import pymysql
具体实现步骤的代码及注释如下:
#创建远程数据库连接 conn=pymysql.connect( user=‘数据库用户名‘,#数据库用户名 host=‘数据库IP‘,#数据库IP port=3306,#数据库端口 password=‘数据库密码‘,#数据库密码 database=‘数据库名称‘,#数据库名称 charset=‘utf8‘)#字符集 cur=conn.cursor()#创建游标实例 sql="select XX from database.table where key= ‘value‘;"#初始化查询语句 cur.execute(sql)#执行查询语句,移动游标到相应的位置 valueXX=cur.fetchall()#取出数据 cur.close()#关闭游标 conn.close()#关闭数据库连接
|
情景二:通过跳板机(ssh通道)连接MySQL
安装pymysql和sshtunnel;
然后,分别导入pymysql和sshtunnel;
import pymysql
from sshtunnel import SSHTunnelForwarder
具体实现步骤的代码及注释如下:
with SSHTunnelForwarder( (‘SSH通道IP‘,22222),#SSH通道IP ssh_username="用户名",#运维提供的用户名,非数据库名 ssh_password="密码",#密码 remote_bind_address=(‘跳板机域名‘,3306)) as server:#跳板机域名
conn = pymysql.connect(user=‘用户名‘, host=‘127.0.0.1‘, port=server.local_bind_port, password=‘密码‘, database=‘数据库名‘, charset=‘utf8‘) cur = conn.cursor() sql = "select XX from 数据库名.table_name where key = ‘XXXX‘;" cur.execute(sql) value= cur.fetchall()#取数据库数据 cur.close() conn.close()
|
python+pymysql访问mysql数据库