python 連線mysql 時,connect 出現錯誤

時間 2021-05-07 20:00:36

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資料庫裡...