python+pymysql访问mysql数据库 - 勤奋的乐乐

时间:2024-01-27 11:28:46

python+pymysql访问mysql数据库

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