Python 连接数据库失败

什么是 PyMySQL?

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。

在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。

PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。

如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL:

$ pip3 install PyMySQL

以下实例链接 Mysql 的 TESTDB 数据库:

#!/usr/bin/python3

import pymysql

# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute()  方法执行 SQL 查询
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()

print ("Database version : %s " % data)

# 关闭数据库连接
db.close()

报错如下:

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pymysql/connections.py", line 582, in connect
**kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 727, in create_connection
raise err
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 716, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "mysql_conn.py", line 6, in <module>
db = pymysql.connect("localhost","root","201995zjh","ryan" )
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pymysql/__init__.py", line 94, in Connect
return Connection(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pymysql/connections.py", line 327, in __init__
self.connect()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pymysql/connections.py", line 629, in connect
raise exc
pymysql.err.OperationalError: (2003, "Can‘t connect to MySQL server on ‘localhost‘ ([Errno 61] Connection refused)")

在确定安装了 PyMySQL 以及数据库账号密码等没有问题时,还是不能连接 MySQL,

最后只剩下两种可能:

1. 运行 mysqladmin variables | grep socket 来获取套接字所在的位置,并尝试设置如下连接:

pymysql.connect(db=‘base‘, user=‘root‘, passwd=‘pwd‘, unix_socket="/tmp/mysql.sock")

2. 运行 mysqladmin variables | grep port 并验证端口是3306.如果没有,您可以手动设置端口,如下所示:

pymysql.connect(db=‘base‘, user=‘root‘, passwd=‘pwd‘, host=‘localhost‘, port=XXXX)

https://stackoverflow.com/questions/6885164/pymysql-cant-connect-to-mysql-on-localhost

原文地址:https://www.cnblogs.com/ryanzheng/p/9694024.html

时间: 2024-11-10 18:27:34

Python 连接数据库失败的相关文章

皕杰报表:连接数据库失败,请检查数据源配置(oracle.jdbc.driver.OracleDriver)

皕杰报表:连接数据库失败,请检查数据源配置(oracle.jdbc.driver.OracleDriver)问题解决: 缺少了classes12.jar 在窗口--首选项--报表运行时配置--添加--确认 原文地址:https://www.cnblogs.com/uranusyo/p/11349366.html

Windows下Python连接数据库(mysql, mongodb)

一 实验平台 1 os: win7 64位旗舰版sp1 2 python: 2.7.10 x64 二 连接数据库 1 连接 mysql数据库 (1)下载mysql(5.6.25-winx64) 建议下载免安装版, 安装版的容易出现各种问题,解开压缩包,双击bin目录下的mysqld.exe, 启动数据库服务进程, 要关闭的话, 直接到任务管理器里面干掉这个进程就行了 (2)下载并安装navicat(这是一个mysql可视化管理工具, 不是必须的, 但可以方便在用python执行数据库操作的时候,

python连接数据库。

准备工作.需要安装pymssql ..具体怎么安装请自行百度.教程很多.最简单的就是pip install myssql  但是可能会出现版本不兼容的问题.导致导入后不能improt.也可能导致打包的时候出错. 需要三个文件. 1.解析配置文件,连接数据库 # -*- coding: utf-8 -*- __author__ = 'hero' import pymssql import xml.dom.minidom import os import sys curPath = os.path.

python 连接数据库-设置oracle ,mysql 中文字符问题

1 import cx_Oracle 2 import MySQLdb 3 4 def conn_oracle(): 5 cnn = cx_Oracle.connect('用户名','密码','ip:端口号/数据库') //用户名,密码,ip端口号数据库 6 cur = cnn.cursor() 7 return cnn,cur 8 9 10 def close_oracle(cnn,cur): 11 cur.close() 12 cnn.close() 13 14 def conn_mysql

Ubuntu16.04下编译vim with python support失败的原因

- youcompleteme原话:On Ubuntu 16.04, Python support was not working due to enabling both Python2 and Python3. Read answer by chirinosky for workaround. - 第一个回答这个问题的, http://stackoverflow.com/questions/23023783/vim-compiled-with-python-support-but-cant-

python连接数据库异步存储

当同步写入数据库时,可能会发生下载速度很快,但是写入速度很慢的情况,因此我们采用异步存储写入数据库. 实现异步写入mysql数据库的思路: 1,将数据库的连接数据写入到settings文件中,供后面自定义的pipeline使用    2,自定义pipeline,使用Twisted框架实现异步    3,在settings中注册这个管道 在settings设置连接信息 1 MYSQL_HOST = '127.0.0.1' 2 MYSQL_DBNAME = 'testdb' 3 MYSQL_USER

python连接数据库

# -*- coding: utf-8 -*- import MySQLdb try: conn =MySQLdb.connect(host='localhost',user='root',passwd='123456',db='python_test',port=3306) cur = conn.cursor() #光标 cur.execute('use python_test;') cur.execute('CREATE TABLE test(id char(20));') cur.clos

windows下pip安装python module失败

C:\Python27\pywin32-214>setup.py -q install Building pywin32 2.7.214.0 Traceback (most recent call last): File "C:\Python27\pywin32-214\setup.py", line 2152, in <module> ('', ('pywin32.pth',)), File "C:\Python27\lib\distutils\core.

面面观 | 使用python 连接数据库,插入并查询数据--link

1,将两个docker 连接起来 首先需要搭建环境: 在alpine下面创建mariadb数据库: http://blog.csdn.net/freewebsys/article/details/53540615 用户名密码是root. 然后创建http的Python环境: http://blog.csdn.net/freewebsys/article/details/53509676 接下来做一个简单数据查询和插入操作. 2,python代码: main.py #!/usr/bin/pytho