今天跟大家分享两种场景的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()

05-18 01:07