MySQLdb 连接Mysql 数据库出错解决

#coding=utf-8
import MySQLdb

if __name__ == "__main__":
    db = MySQLdb.connect(host='localhost',
                     port=3306,
                     user='root',
                     passwd=XX',
                     db='XX')
    cursor = db.cursor()
    sql = "select * from student"
    cursor.execute(sql)
    for line in cursor.fetchall():
        print line
    db.close()

运行时出现如下错误:

pydev debugger: starting
Traceback (most recent call last):
  File "C:\Program Files\aptan3\plugins\org.python.pydev_2.6.0.2012062121\pysrc\pydevd.py", line 1392, in <module>
    debugger.run(setup['file'], None, None)
  File "C:\Program Files\aptan3\plugins\org.python.pydev_2.6.0.2012062121\pysrc\pydevd.py", line 1085, in run
    pydev_imports.execfile(file, globals, locals) #execute the script
  File "D:\Aptana Studio 3 Workspace\first\com\lin\test01.py", line 9, in <module>
    db='netbase')
  File "E:\python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "E:\python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")
把host="localhost"  改为 host="127.0.0.1"就可以了

#coding=utf-8
import MySQLdb

if __name__ == "__main__":
    db = MySQLdb.connect(host='127.0.0.1',
                     port=3306,
                     user='root',
                     passwd=XX',
                     db='XX')
    cursor = db.cursor()
    sql = "select * from student"
    cursor.execute(sql)
    for line in cursor.fetchall():
        print line
    db.close()
运行如下:

pydev debugger: starting
('lin', 88L)
('cjm', 8L)
Django + MySQLdb + Mysql settings 文件数据库设置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'mydb',                      # Or path to database file if using sqlite3.
        # The following settings are not used with sqlite3:
        'USER': 'root',
        'PASSWORD': 'mydb',
        #'HOST': '',   
        'HOST': '127.0.0.1',                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '3306',                      # Set to empty string for default.
    }
}
然后连接数据库:
import sys; print('%s %s' % (sys.executable or sys.platform, sys.version))
PyDev console: using default backend (IPython not available).
E:\python27\python.exe 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)]

from django.core import management;import netbase.settings as settings;management.setup_environ(settings)
u'D:\\Aptana Studio 3 Workspace\\netbase\\netbase'
from django.db import models
from django.db import connection
cursor = connection.cursor()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值