1. 程式人生 > >MySQl-python模組,python連線資料庫出現的問題

MySQl-python模組,python連線資料庫出現的問題

雖然是個小問題,還是打算寫一下。

python連線資料庫時遇到了這樣一個問題:

Traceback (most recent call last):

 File "./mysql-python.py", line 5, in <module>

   conn=MySQLdb.connect(host='localhost',port='3306',user='root',passwd='a123456!')

 File "/usr/lib64/python2.7/site-packages/MySQLdb/__init__.py",line 81, in Connect

   return Connection(*args, **kwargs)

 File"/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line193, in __init__

   super(Connection, self).__init__(*args, **kwargs2)

TypeError: an integer is required

我想有人也遇到過,廢話不多說,先看下連線資料庫原始碼:

#!/usr/bin/python
# _*_ coding:utf-8 _*_
import MySQLdb

conn=MySQLdb.connect(host='localhost',port='3306',user='root',passwd='a123456!')
cur = conn.cursor()

cur.execute('create database if not exists pythonDB')

# create tables
#cur.execute("create table staudent(id int,name vatchar(10)")
conn.commit()
cur.close()
conn.close()

程式碼很簡單,就是建立一個庫,但是執行後總是報上面的錯誤。查了半天,也不知道怎麼解決。

最開始以為MySQLdb版本低了,網上找了下,版本不低。然後就找其他原因。

想了一下,既然連線不了資料庫,肯定和這一句有關conn=MySQLdb.connect(host='localhost',port='3306',user='root',passwd='a123456!'),

然後就嘗試修改。host,user,passwd引數是必須要的,那麼port呢?然後我就刪掉port, 發現問題解決了。

不過我還是沒弄懂家個port,為什麼資料庫連線就會失敗。