1樓:老夭來了
# -*- 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
如果解決了您的問題請採納!
如果未解決請繼續追問!
2樓:匿名使用者
你把錯誤提示發上呀,不然怎麼知道**錯了.
3樓:匿名使用者
使用者名稱,密碼,還有埠號,地址。這些都沒問題麼?
python 連線mysql 時,connect 出現錯誤,怎麼解決
4樓:奔跑的窩牛的家
1:python連結mysql的connect函式使用一般如下:
mysqldb.connect(host=self.__host, user=self.
__user, passwd=self.__passwd, db=self.__dbname,
port=self.__port)
2: 如果連結失敗,排查步驟如下:
(1) 使用mysql 命令,使用上面使用者名稱,密碼登陸,檢查mysql是否正常啟動, 使用者名稱,密碼是否正確。
(2) 使用 show database; 檢查連結的庫是否存在。
(3) use ***x 登陸對應的庫,檢查是否正常。
如果上述均正常,則說明mysql本身是正常的。
(4) print 各個入參,確保入參和預期一致。
如果都正確,只能根據錯誤提示具體分析了。
python 連線mysql 時,connect 出現錯誤,怎麼解決
5樓:匿名使用者
是你這個使用者在你的資料庫上沒訪問許可權吧,資料庫都設定好了沒。
看看是否是pydev的環境配置問題,需要配置python的sys,還有的可能是你環境種裝了不同版本的python,mysqldb。
6樓:匿名使用者
下面是我用過的連線mysql資料庫的方法,你試試吧,使用者名稱和密碼都是root,如果密碼不一樣記得修改code中的密碼,還有就是檢查一下你的資料庫是不是正常的
如果報錯--截圖,追問
import mysqldb
def do_mysql_operate(str):
try:
conn = mysqldb.connect(host = 'localhost',user = 'root',passwd = 'root',db = 'task',port = 3306)
cur = conn.cursor()
cur.execute(str)
conn.commit()
cur.close()
conn.close()
except mysqldb.error,e:
print "mysql error %d:%s" %(e.args[0],e.args[1])
7樓:匿名使用者
應該把完整的錯誤碼貼出來 然後一般是mysql伺服器沒有開 或者是使用者和密碼錯誤 或者的資料庫名填錯了
8樓:落葉繁花之天秤
檢查mysql是否成功開啟,以及python連線方式是否正確,不可能都沒問題的
怎麼用python連線mysql資料庫
連線資料庫 conn mysqldb.connect host localhost port 3306,user root passwd db mytest charset utf8 更多python操作mysql資料庫的知識點與例項demo講解 python怎麼連線mysql資料庫 python ...
phpmyadmin嘗試連線到mysql伺服器但伺服器拒
phpmyadmin 嘗試連線到 mysql 伺服器,但伺服器拒絕連線。您應該檢查配置檔案中的主機 使用者名稱和密碼是設定錯誤造成的,解決方法為 1 在電腦中開啟mysql workbench程式。2 在workbench的初始介面,點選 圖示新增一個mysql連線,如圖所示。3 在彈出的對話方塊中...
如何連線mysql資料庫
一 mysql命令列連線 一般對於剛剛安裝好的mysql,如果勾選啟用mysql lineclient的話。可以直接通過找到開始 程式 mysql command line client如下圖 點選mysql命令列之後,會提示你輸入root密碼。輸入正確的root密碼之後即可連線到msyql資料庫裡...