问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python 连接mysql 时,connect 出现错误,怎么解决

发布网友 发布时间:2023-11-13 02:03

我来回答

1个回答

热心网友 时间:2024-10-24 17:45

# -*- coding: utf-8 -*-
import MySQLdb
from MySQLdb.cursors import DictCursor

def catch_2006(func):
"""
To catch MySQL Error 2006 ('Server has gone away')
"""

def _(self, *args, **kwargs):
try:
return func(self, *args, **kwargs)
except MySQLdb.Error, e:
print __file__, e
if e.args[0] == 2006 or e.args[0] == 0:
self.reboot_conn()
return func(self, *args, **kwargs)
# todo
# How to deal if not the code

return _

class DB(object):
def __init__(self, host, port, user,
passwd, db, use_unicode=True, charset='utf8'):
self.host = host
self.port = port
self.user = user
self.passwd = passwd
self.db = db
self.use_unicode = use_unicode
self.charset = charset

@property
def conn(self):
if not hasattr(self, '__conn'):
self.__conn = MySQLdb.connect(
host=self.host,
port=self.port,
user=self.user,
passwd=self.passwd,
db=self.db,
use_unicode=self.use_unicode,
charset=self.charset
)
return self.__conn

def reboot_conn(self):
if hasattr(self, '__conn'):
try:
self.__conn.close()
del self.__conn
except:
pass

@catch_2006
def query(self, sql, args=None):
print sql
cursor = self.conn.cursor()
cursor.execute(sql, args)
cursor.execute('commit')
cursor.close()

@catch_2006
def select(self, sql, args=None, is_dict=False, is_one=False):
# print sql, args
if is_dict:
cursor = self.conn.cursor(cursorclass=DictCursor)
else:
cursor = self.conn.cursor()
cursor.execute(sql, args)
if is_one:
resultset = cursor.fetchone()[0]
else:
resultset = cursor.fetchall()
cursor.close()
return resultset
这个是我以前项目中使用python链接mysql的例子,你可以参考一下。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
王者荣耀幽默好玩名字(精选54个) 妖精的尾巴有爱情元素吗、 妖精的尾巴谁看过。有爱情吗 露西和火龙? 那灰呢? h1z1生存模式怎么没了 你说山沟里没手机信号,给我举个例子行不?就是具体那个没信号的山沟叫... 利用反射器能把山顶手机信号反射到山沟里吗? 球怎么拼音? 磨玻璃结节会不会转移 肺纯磨玻璃结节会癌变吗 深圳二档社保有什么用? 三年级作文:小八哥(用童话故事的形式介绍)14 怎样可以让两部设备手机同时登录一个 冲突管理包过哪俩个方面1 赤道全长大约40000千米,如果用一亿枚1角的硬币绕地球赤道...13 一块长方形的菜地周长是48米长是宽的三倍这块菜地的面积是多少... 在津工超市没有身份证能买火车票么?知道身份证号可以么?1 ...的菜地周长是184米它的长是宽的3倍,这块菜地的长、宽、面积分别是... 本人在外地,可以亲属代为销户吗?联通宽带预付费用户 联通宽带预付费用户,本人在外地,可以亲属代为销户吗?2 小尾寒羊头朝后仰,卧地不起,感觉皮肤没有血色,干瘦,也吃东西,但是感觉... ...加班引发热议,如何看待临下班才开会的行为? 深圳的社保卡能在广州用吗90 肚子上长了个红包,非常的痒6 蒙古以前是中国的吗? 口腔专业 出国留学1 口腔医学 出国15 如何一号两24 李红看一本328页的书,看了4天,还剩28页,平均每天看多少... 怎样可以有两个,940 网上对刘德华失孤电影的评价结果好10 上海站如何去闵行区华漕镇诸翟街纪翟路 高手告诉我下!急急 在组织中如何进行有效的冲突管理?8 一本书有28页小红看了两天一天看了十八页还剩多少页没看 1个号码怎么注册2个 有一个了,怎样再申请一个新221 ...大桥到道里区地段街10号坐几线公交,全程需多长时间,急求,谢谢... 肚子上长了很多小豆点是怎么回事? 我想涂一种颜色的指甲油,我这里有蓝色,粉色和淡紫色,涂哪种合...10 融资融券后,如何计算收益21 如何将A4排版的word文件打印到16k的纸上,要求插图和内... 造梦西游3什么辅助能修改生肖宠物以及技能???不要CE 一本书书23页,看了4天,还剩多少页?1 苹果手机怎么改?250 怎么可以一号上两手机 苹果手机如何修改766 小班语言大象1 一块长方形菜地的周长是160米,它的长是宽的3倍。这块菜地的长和宽各是... 我的东芝电脑回复原状后打不开了怎么办1 快乐大本营还是天天向上有一集请了好多宠物 包括宠物猪、蜘蛛、蜥蜴... 用word制作报纸27