MySQl-python模块,python连接数据库出现的问题

来源:互联网 发布:算法的概念 上海教材 编辑:程序博客网 时间:2024/06/06 00:28

虽然是个小问题,还是打算写一下。

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,为什么数据库连接就会失败。



原创粉丝点击