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,為什麼資料庫連線就會失敗。