求教,python3怎么通过SSH隧道连接mysql数据库并执行SQL *** 作

求教,python3怎么通过SSH隧道连接mysql数据库并执行SQL *** 作,第1张

python3发布以来,获取了广大程序员们的差评,说不稳定,又是不兼容什么的,不过差评归差评,python3既然已经发布,肯定是个趋势,但在python3.4里面,使用原来python2.7的mysqldb已经不能连接mysql数据库了,比较令人纠结,不过我们可以使用pymysql,来完成连接mysql的重任,步骤如下:序号描述1去github上下载pymysql的安装包pymysql2解压到某个盘符下3打开cmd窗口(win环境下),进入pymysql的根目录下执行命令,pythonsetup.pyinstall4在程序里,导入pymysql5开始连接数据库数据库 *** 作的API文档连接:代码如下:__author__='qindongliang'#导入pymysql的包importpymysqltry:#获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库conn=pymysql.connect(host='localhost',user='root',passwd='qin',db='person',port=3306,charset='utf8')cur=conn.cursor()#获取一个游标cur.execute('select*fromperson')data=cur.fetchall()fordindata:#注意int类型需要使用str函数转义print("ID:"+str(d[0])+'名字:'+d[1]+"性别:"+d[2])cur.close()#关闭游标conn.close()#释放数据库资源exceptException:print("发生异常")结果如下:D:\python\python.exeD:/pythonide/pythonprojectworkspace/python/mysql.pyID:1名字:秦天性别:男ID:2名字:王晶性别:女Processfinishedwithexitcode0

实例1:paramiko模块

#!/usr/bin/python

import paramiko

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect("172.16.1.3",22,"root","333333")

stdin, stdout, stderr = ssh.exec_command("mysql -uroot -p123456 -Dmysql -e 'select user from user'")

print stdout.readlines()

ssh.close()

实例2:用MySQLdb模块 *** 作MySQL数据库非常方便

#!/usr/bin/python

import os, sys

import MySQLdb

try:

conn MySQLdb.connect(host='172.16.1.3',user='root',passwd='123456’,db='address')

except Exception,e:

print e

sys.exit()

cursor=conn.cursor()

sql=’insert into address(name, address) values(%s, %s)’

value=((“zhangsan”,”haidian”),(“lisi”,”haidian”))

try

cursor.executemany(sql,values)

except Exception, e:

print e

sql=”select * from address”

cursor.execute(sql)

data=cursor.fetchall()

if data

for x in data:

print x[0],x[1]

cursor.close()

conn.close()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10099360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存