python + pymysql连接数据库报“(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)")”
python + pymysql连接数据库报“(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)")”
前言:
由于项目最近更换了数据库,导致执行python代码连接数据库的时候,出现“超时”或“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。”,代码执行失败了。目前使用的是polardb数据库(类似mysql)
错误信息如下:
1、 数据库连接失败:(2003, "Can't connect to MySQL server on 'XXX数据库的地址' (timed out)")
2、 (2003, "Can't connect to MySQL server on 'XXX数据库的地址' ([WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。)")
解决方案:
1、排查了本地端口冲突的问题,连接的远程的服务器
2、和对应的服务器端工作人员排查,机器网络正常(可能网络时好时坏)
3、最后通过加上数据库重连的机制解决
由于是首次遇到这种连接数据库超时的问题,以前连接数据库很少会有这种情况,所以原始代码是不需要重连的,98%概率是成功连接上的
def connect_dbserver(self):
"""
连接数据库
"""
try:
self.db = pymysql.connect(**self.sql_config)
self.cursor = self.db.cursor()
except pymysql.Error as e:
mylog.error("数据库连接失败:{0}".format(e))
加上重连机制的代码,失败了继续重试,一般都可以连接上数据库了
def connect_dbserver(self):
"""
连接数据库
"""
retry_count = 10
init_connect_count = 0
connect_res = True
while connect_res and init_connect_count < retry_count:
try:
self.db = pymysql.connect(**self.sql_config)
self.cursor = self.db.cursor()
# 连接上退出循环,连接不上继续重连
connect_res = False
except pymysql.Error as e:
mylog.info("数据库连接失败,尝试重连...,错误信息:{0}".format(e))
init_connect_count += 1
参考:https://www.cnblogs.com/fanjp666888/p/8608406.html
python + pymysql连接数据库报“(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)")”的更多相关文章
- 解决 pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 61] Conne
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 61] ...
- 连接远程数据库时出现 SSH: expected key exchange group packet from server / 2003 - Can't connect to MySQL server on 'XXX' (10038) / 1130 - Host 'XXX' is not allowed to connect to this MySQL server
昨天在自己的远程服务器上玩,把系统重装了.新装了MySQL,在本地用navicat连接的时候出了几个小问题. 问题一:SSH: expected key exchange group packet f ...
- SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'XXX' (13)
SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'XXX' (13) 我可以真见识了 SELinux 的利害了, 这个问题让我找了好长时 ...
- 连接mysql报错-Can't connect to MySQL server on
1.问题: 在Windows 上远程连接数据库报错-Can't connect to MySQL server on... 但是重启系统后就可以连接: 2.这种原因大致是因为系统缓冲区空间不足或列队已 ...
- 在centos中php 在连接mysql的时候,出现Can't connect to MySQL server on 'XXX' (13)
原文连接:http://hi.baidu.com/zwfec/item/64ef5ed9bf1cb3feca0c397c 红色的是命令 SQLSTATE[HY000] [2003] Can't con ...
- Navicat 连接远程数据库报错:2003 - Can‘’t connect to MySQL server on 'XX.XX.XX.XX' (10061)
Navicat 连接远程数据库报错:2003 - Can‘’t connect to MySQL server on '172.22.69.190' (10061) 一.原因 远程数据库使用了默认设 ...
- bugfree,CDbConnection 无法开启数据库连线: SQLSTATE[HY000] [2003] Can't connect to MySQL server on '192.168.0.99' (4)
安装bugfree后,访问报错:CDbConnection 无法开启数据库连线: SQLSTATE[HY000] [2003] Can't connect to MySQL server on '19 ...
- perationalError: (2003, "Can't connect to MySQL server on u'192.168.1.6' (timed out)")
在Ubuntu(192.168.1.20)中部署项目后,mysql还在另外一台windows(192.168.1.6)机子上,ping windows时可以ping通,但是访问项目提示: perati ...
- 关于mysql连接时候出现"error 2003: can't connect to mysql server on 'localhost'(10061)问题的解决
天,在使用navicat Premium 连接数据库时,出现了一个弹出窗口显示: "error 2003: can't connect to mysql server on 'localho ...
随机推荐
- 监控网站是否异常的shell脚本
本节内容:shell脚本监控网站是否异常,如有异常就自动发邮件通知管理员. 脚本检测流程,如下:1,检查网站返回的http_code是否等于200,如不是200视为异常.2,检查网站的访问时间,超过M ...
- 【力扣】649. Dota2 参议院
Dota2 的世界里有两个阵营:Radiant(天辉)和 Dire(夜魇) Dota2 参议院由来自两派的参议员组成.现在参议院希望对一个 Dota2 游戏里的改变作出决定.他们以一个基于轮为过程的投 ...
- Gitlab更改项目间的fork提交关系
目录 一.前情提要 二.实际操作 一.前情提要 1.dzsw/cgd_xx项目,通过fork按钮在dzsw_dev组下面同步了一个项目 2.但是现在dzsw/cgd_xx项目因为没法提交合并请求,一点 ...
- ubuntu 16.04下的fastadmin安装指南
此篇博客转载于fastadmin论坛,方便自己看转到了博客里 说明文档不多,特制作一个,方便大家交流使用Ubuntu 16.04 安装fastadmin指南本文因考虑到大多数人员,习惯性在window ...
- 可恶的Math.random()
生成随机数1-10 (包含1和10) 结果是这样的:Math.floor(Math.random()*10+1) 那么问题又来了 Math.floor(Math.random()*10)生成的只 ...
- noVNC实现浏览器远程访问Windows桌面
一.简介 1.VNC介绍 VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件.VNC 是在基于 UNIX 和 Linux 操作系统的免费 ...
- [BUUCTF]REVERSE——[FlareOn4]login
[FlareOn4]login 附件 步骤: 是个网页,直接打开,查看网页源码 百度了几个函数 charCodeAt(0)是返回当前字符的Unicode 编码 String.fromCharCode返 ...
- 记一次 .NET 某市附属医院 Web程序 偶发性CPU爆高分析
一:背景 1. 讲故事 这个月初,一位朋友加微信求助他的程序出现了 CPU 偶发性爆高,希望能有偿解决一下. 从描述看,这个问题应该困扰了很久,还是医院的朋友给力,开门就是 100块 红包 ,那既然是 ...
- CF749A Bachgold Problem 题解
Content 给定一个数 \(n\),求它最多能够拆分成多少个质数,并输出拆分成的每一个质数. 数据范围:\(2\leqslant n\leqslant 10^5\). Solution 我们考虑尽 ...
- XMLHttpRequest() 如何预检查CORS跨域请求的?
https://blog.csdn.net/qq_38261174/article/details/90691058