外部连接mysql docker容器异常
为了方便,使用python测试连接mysql容器
脚本内容非常简单
#!/usr/bin/python3
import pymysql conn=pymysql.connect(host="localhost",user="root",port=,password="",database="mydb")
cursor=conn.cursor()
cursor.execute("select count(*) from mydb.t")
cursor.close()
conn.close()
执行上述脚本后,发生以下异常
Traceback (most recent call last):
File "./p.py", line , in <module>
conn=pymysql.connect(host="localhost",user="root",port=,password="",database="mydb")
File "/usr/local/lib64/python3.6/site-packages/pymysql/__init__.py", line , in Connect
return Connection(*args, **kwargs)
File "/usr/local/lib64/python3.6/site-packages/pymysql/connections.py", line , in __init__
self.connect()
File "/usr/local/lib64/python3.6/site-packages/pymysql/connections.py", line , in connect
self._get_server_information()
File "/usr/local/lib64/python3.6/site-packages/pymysql/connections.py", line , in _get_server_information
packet = self._read_packet()
File "/usr/local/lib64/python3.6/site-packages/pymysql/connections.py", line , in _read_packet
packet_header = self._read_bytes()
File "/usr/local/lib64/python3.6/site-packages/pymysql/connections.py", line , in _read_bytes
CR.CR_SERVER_LOST, "Lost connection to MySQL server during query")
pymysql.err.OperationalError: (, 'Lost connection to MySQL server during query')
从错误信息看,是不能够正常连接到OMC,刚开始怀疑是pymysql.connect方法中传递的参数不正确,但无论怎么修改,始终出现2013的异常,后来查看mysql配置文件,发现存在一条配置
bind_address=127.0.0.1
改参数限制了mysql不能被远程访问,所以在容器外部没法访问到容器内部的mysql,造成2013异常,注释掉改配置,重启mysql docker容器,访问正常
另外如果将改配置对应的ip地址改为宿主机地址,还会出现如下异常
Traceback (most recent call last):
File "./p.py", line , in <module>
conn=pymysql.connect(host="localhost",user="root",port=,password="",database="mydb")
File "/usr/local/lib64/python3.6/site-packages/pymysql/__init__.py", line , in Connect
return Connection(*args, **kwargs)
File "/usr/local/lib64/python3.6/site-packages/pymysql/connections.py", line , in __init__
self.connect()
File "/usr/local/lib64/python3.6/site-packages/pymysql/connections.py", line , in connect
raise exc
pymysql.err.OperationalError: (, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)")
且mysql未正常启动,错误日志中有如下信息
--15T02::.769286Z [Warning] [MY-] [Server] CA certificate ca.pem is self signed.
--15T02::.791952Z [ERROR] [MY-] [Server] Can't start server: Bind on TCP/IP port: Cannot assign requested address
--15T02::.791960Z [ERROR] [MY-] [Server] Do you already have another mysqld server running on port: ?
--15T02::.792191Z [ERROR] [MY-] [Server] Aborting
--15T02::.855205Z [System] [MY-] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.) MySQL Community Server - GPL.
外部连接mysql docker容器异常的更多相关文章
- docker学习(5) 在mac中创建mysql docker容器
github上有一个专门的docker-libary项目,里面有各种各样常用的docker镜像,可以做为学习的示例,今天研究下其中mysql镜像的用法,国内镜像daocloud.io也能找到mysql ...
- ruby使用DBI连接MySQL数据库发生异常:in `error': Can't connect to MySQL server on 'localhost' (10061) (DBI::DatabaseError)
Ruby使用DBI连接MySQL数据库一般为: require "dbi" dbh = DBI.connect("dbi:Mysql:test:localhost&quo ...
- 处理asp.net core连接mysql的一个异常Sequence contains more than one matching element
晚上在那里调程序,把mysql.data组件的nuget包进行了更新,前几天好好的程序,开始抛错,跟踪断点发现以下的异常: Unable to connect to any of the specif ...
- MySQL Docker容器实例创建并进入MySQL命令行
首先需要明白的一点是: docker镜像是一个模版,docker容器是一个实例,它可以被启动与关闭. 我们需要先有MySQL的docker镜像,使用命令: docker pull mysql 拉取最新 ...
- docker 容器的mysql主从复制
一. 1.首先拉取docker镜像,我们这里使用5.7版本的mysql: docker pull mysql:5.7 2.分别启动主从两个容器: docker run -p 3339:3306 - ...
- Docker 容器的跨主机连接
使用网桥实现跨主枳容器连接 不推荐 使用OpenvSwitch实现跨主机容器连接 OpenvSwitch: OpenvSwitch是一个高质量的.多层虚拟交换枳,使用开源Apache2.0许可协议,由 ...
- Centos故障01:Docker容器丢失
问题 一测试环境,配置及应用如下: [Centos ~]# rpm -q centos-release centos-release-7-6.1810.2.el7.centos.x86_64 应用: ...
- docker容器的学习笔记
目录 Docker入门学习笔记(一) 1. 什么是Docker? 2. Docke的目标 3. Docker通常应用场景 4. Docker的基本组成 补:Docker容器相关技术简介 安装Docke ...
- Docker容器基础入门认知-网络篇
这篇文章中,会从 docker 中的单机中的 netns 到 veth,再到单机多个容器之间的 bridge 网络交互,最后到跨主机容器之间的 nat 和 vxlan 通信过程,让大家对 docker ...
随机推荐
- 2 webpack 4 加vue搭建开发环境最终配置
1 package.json { "name": "c", "version": "1.0.0", "desc ...
- dubbo框架梳理
Dubbo分层 Dubbo框架运行主要分如下九层: 配置层:config 服务代理层:proxy 注册中心层:registry 路由层:cluster 监控层:monitor 远程调用层:protoc ...
- centos根目录扩容,home目录减小容量
参考: https://blog.csdn.net/evandeng2009/article/details/49814097 主要命令: 15 cd / 16 ll 17 mkdir backup ...
- MySQL的启动方式
MySQL常用启动方式: windows 和linux 上都可以使用 mysql --help|grep my.cnf 过滤查看关于MySQL对应 配置文件my.cnf [root@bqh-118 b ...
- 04 Windows编程——Unicode
VS 2017下源码 #include<stdio.h> int main() { char ASC_a = 'a'; char *ASC_str = "hello"; ...
- 【枚举】【lrj黑书】奇怪的问题(古老的智力题)
题目描述: 请回答下面的 10 个问题,你的回答应保证每题惟有你的选择是正确的. ⑴ 第一个答案是b 的问题是哪一个?(a )2 ( b ) 3 ( c ) 4 ( d ) 5 ( e ) 6⑵ 恰好 ...
- Jmeter练习
首页 新随笔 管理 Jmeter接口测试实例-牛刀小试 本次测试的是基于HTTP协议的接口,主要是通过Jmeter来完成接口测试,借此熟悉Jmeter的基本操作. 本次实战,我是从网上找的接口 ...
- tsp问题-遍历算法/随机算法
旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题.货郎担问题,是数学领域中著名问题之一.假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路 ...
- php中float浮点型字段查询问题(数据对应不上)
薪资表 查询员工提成时候 比如说表里面是88.8 查询出来则是89 反复调试 未果,最后查看表设计 把金额字段类型设置成float 最后换成double 解决问题!!!!
- aiops常用算法
1.数据聚合/关联技术 概念聚类算法AOI分类算法K近邻/贝叶斯分类器/logistic回归(LR)/支持向量机(SVM)/随机森林(RF) 2.数据异常点检测技术独立森林算法 3.故障诊断和分析策略 ...