为了方便,使用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容器异常的更多相关文章

  1. docker学习(5) 在mac中创建mysql docker容器

    github上有一个专门的docker-libary项目,里面有各种各样常用的docker镜像,可以做为学习的示例,今天研究下其中mysql镜像的用法,国内镜像daocloud.io也能找到mysql ...

  2. 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 ...

  3. 处理asp.net core连接mysql的一个异常Sequence contains more than one matching element

    晚上在那里调程序,把mysql.data组件的nuget包进行了更新,前几天好好的程序,开始抛错,跟踪断点发现以下的异常: Unable to connect to any of the specif ...

  4. MySQL Docker容器实例创建并进入MySQL命令行

    首先需要明白的一点是: docker镜像是一个模版,docker容器是一个实例,它可以被启动与关闭. 我们需要先有MySQL的docker镜像,使用命令: docker pull mysql 拉取最新 ...

  5. docker 容器的mysql主从复制

    一. 1.首先拉取docker镜像,我们这里使用5.7版本的mysql:   docker pull mysql:5.7 2.分别启动主从两个容器: docker run -p 3339:3306 - ...

  6. Docker 容器的跨主机连接

    使用网桥实现跨主枳容器连接 不推荐 使用OpenvSwitch实现跨主机容器连接 OpenvSwitch: OpenvSwitch是一个高质量的.多层虚拟交换枳,使用开源Apache2.0许可协议,由 ...

  7. Centos故障01:Docker容器丢失

    问题 一测试环境,配置及应用如下: [Centos ~]# rpm -q centos-release centos-release-7-6.1810.2.el7.centos.x86_64 应用: ...

  8. docker容器的学习笔记

    目录 Docker入门学习笔记(一) 1. 什么是Docker? 2. Docke的目标 3. Docker通常应用场景 4. Docker的基本组成 补:Docker容器相关技术简介 安装Docke ...

  9. Docker容器基础入门认知-网络篇

    这篇文章中,会从 docker 中的单机中的 netns 到 veth,再到单机多个容器之间的 bridge 网络交互,最后到跨主机容器之间的 nat 和 vxlan 通信过程,让大家对 docker ...

随机推荐

  1. jQuery动画速成

    引入下面css中样式,然后在需要使用的元素中类上添加相应的效果就可以了 例如 animated固定要添加的类,不然会没有效果,bounceIn是你想要的动画效果,fight是你自己定义的类名,可以写样 ...

  2. string+DP leetcode-4.最长回文子串

    5. Longest Palindromic Substring 题面 Given a string s, find the longest palindromic substring in s. Y ...

  3. springmvc,hibernate整合时候出现Cannot load JDBC driver class 'com.mysql.jdbc.Driver

    原因:不清楚是什么原因,哪位知道可以给我留言,不胜感激! 解决方法: 1.把mysql的驱动包放到你项目的WEB-INF目录下的lib目录中2.要mysql的驱动包放在tomcat/lib目录下

  4. Linux学习笔记(十五)用户和用户组

    一.四个配置文件 解释: (1)当组内仅有一个用户且用户名和组名相同时,[组中用户列表]可省略不写 (2)root用户组的组号为0 (3)组号1-499位系统预留组号,是预留给安装在系统中的软件或服务 ...

  5. 成功解决 AttributeError: module 'tensorflow.python.keras.backend' has no attribute 'get_graph'

    在导入keras包时出现这个问题,是因为安装的tensorflow版本和keras版本不匹配,只需卸载keras,重新安装自己tensorflow对应的版本就OK了.可以在这个网址查看tensorfl ...

  6. linux实操_定时任务调度

    crond任务调度 语法:crontab [选项] -e 编辑crontab定时任务 -i 查询crontab任务 -r 删除当前用户所有的crontab任务 service crond restar ...

  7. BZOJ 5496: [2019省队联测]字符串问题 (后缀数组+主席树优化建图+拓扑排序)

    题意 略 分析 考场上写了暴力建图40分溜了-(结果只得了30分) 然后只要优化建边就行了 首先给出的支配关系无法优化,就直接A向它支配的B连边. 考虑B向以B作为前缀的所有A连边,做一遍后缀数组,两 ...

  8. python自动华 (三)

    Python自动化 [第三篇]:Python基础-集合.文件操作.字符编码与转码.函数 1.        集合 1.1      特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一 ...

  9. 解决GitHub下载速度太慢的问题

    更改hosts文件: Windows 更改C:\Windows\System32\drivers\etc\hosts文件,在文件中追加219.76.4.4 github-cloud.s3.amazon ...

  10. 关于不用Hashtable

    hashmap 与hashtable 很类似,主要区别是hashtable 有用synchronized进行线程同步,hashmap没有.然而,建议少用hashtable,在单线程中,无需做线程控制, ...