Docker的mysql集群节点可以正常创建,但docker无法连接到宿主机的mysql应如何解决?

1.创建网段
docker network create --subnet=172.18.0.0/16 net1
2. 创建数据卷
docker volume create --name v1
3. 创建备份数据卷(用于热备份数据)
docker volume create --name backup
4. 创建第1个MySQL节点
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql -v backup:/data --privileged --name=node1 --net=net1 --ip 172.18.0.2 pxc

使用docker容器连接宿主机我的思路是这样的,创建数据卷和网段,通过端口映射到宿主机的mysql存储文件从而达到docker读取宿主机mysql数据,并做mysql集群的功能,但是现在遇到这样的一个问题,第四步的节点创建成功了但是Navigcat却无法正常连接到宿主机的mysql请问是什么原因呢?我在其他网站上看到,这时候创建mysql节点需要等待两分钟以上,但是我已等待超过2个钟可结果还是连接不成功,想请教一下各位前辈,应该怎么解决这样的问题,我的宿主机mysql外界ip是可以正常允许访问的
图片说明
图片说明

4个回答

你先检查一遍服务,启动服务:service mysqld start;
另外,可能遇到的这个问题是防火墙导致的!
开放防火墙端口:

添加需要监听的端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

保存设置

/etc/init.d/iptables save

查看状态

/etc/init.d/iptables status

## 临时关闭防火墙服务
service iptables stop

开启防火墙服务

 service iptables start

开机不再启动防火墙服务

  chkconfig iptables off
        这样就恢复了使用。
baidu_36967644
baidu_36967644 回复du_23tiyanwang: 不可以,应该不是防火墙问题,是docker内部的问题,只要centos重启docker无论怎么开启连接宿主机数据卷的服务都开启不了,大神可否留个QQ号详细咨询您,我的QQ号是736415994
大约一年之前 回复
du_23tiyanwang
du_23tiyanwang 回复baidu_36967644: 还是没好吗?
大约一年之前 回复
baidu_36967644
baidu_36967644 我的防火墙已关闭(也设置了开机后关闭,也尝试过打开防火墙开放3306和3307端口)但是可以成功连接上3306端口宿主机的mysql,Docker连接宿主机的mysql的3307端口却无法正常连接,请问大神该如何解决呢?在线等
大约一年之前 回复

用docker-compose

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Docker创建Docker Swarm集群节点
预置条件 一、配置防火墙 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。 1、关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2、安装iptables防火墙 安装ipta
CentOS下启动docker和docker启动MySQL镜像后无法连接MySQL
1.CentOS下启动docker失败   1.1安装docker后启动失败并出现以下信息:   Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for det...
Docker创建MySQL容器
Docker创建MySQL容器
Docker创建mysql镜像
下载文件 到 Dockerpool 的 github 页面下载需要的文件。 $ git clone https://github.com/DockerPool/mysql.git Cloning into 'mysql'... remote: Counting objects: 13, done. remote: Compressing objects: 100% (13/13), don
docker创建mysql容器
1、查看mysql源:docker search mysql 2、获取mysql镜像: docker pull mysql/mysql-server 3、创建mysql容器 docker run --name test-mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql 4、运行mysql并测试连接 dock...
Docker创建Mysql容器
1、启动docker服务 [root@docker ~]# systemctl start docker 2、查看docker里面的镜像 [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos/m...
Docker 创建MySQL容器
Docker 创建MySQL容器: 1.运行“docker pull mysql”获取mysql镜像 [root@centos7 mnt]# docker pull mysql Using default tag: latest Trying to pull repository docker.io/library/mysql ... latest: Pulling from docker...
docker容器的程序连接宿主机的MySQL
docker里面的代码生成的数据需要写入到宿主机的Mysql服务器上,想要用本地的数据库测试自己的代码正确性,项目程序安装在docker容器中,于是必定要在docker容器里访问到本地的数据库。 (1)在docker容器里localhost并不是指宿主机的localhost,因此不能在容器中通过localhost:3306访问到宿主机的mysql。 (2)docker在运行时就建立了虚拟网卡,...
mysql docker化,数据持久化到宿主机磁盘
docker仓库拉去mysql 镜像: docker pull mysql 查看本地仓库中的镜像: docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql/mysql-server 5.7 68972aa07...
Docker phpMyAdmin 连接访问宿主机本地mysql
20190422 之前学习 docker LNMP ,一直都是建立一个 mysql 容器 ,使用 nginx + php 容器来 link 这个 mysql 容器,再建立一个phpmyadmin 容器来管理容器中的mysql 问题: 实际环境中,经常是已经存在本地 mysql ,没有必要再去改动 mysql 环境,甚至转移 mysql 数据 有的系统安装的 mysql 缺省只有一个 loc...
docker mysql
docker-1.12.6-32.git88a4867.el7.centos.x86_64.rpmdocker-1.12.6-32.git88a4867.el7.centos.x86_64.rpmdocker-1.12.6-32.git88a4867.el7.centos.x86_64.rpmdocker-1.12.6-32.git88a4867.el7.centos.x86_64.rpmdocker-1.12.6-32.git88a4867.el7.centos.x86_64.rpm
使用docker创建mysql实例
➜ docker docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=xxx -d mysql 190c645f7bed945d6319feccfd8f861ce8ee9211785dc7c504da621418e7ee32 ➜ docker docker exec -it 190 "docker exec" requ...
Docker新手教程(07)Docker与MySQL
07、Docker与MySQL 1、场景说明和使用思路 场景说明: 既然说服务器,怎么能离开各种数据库呢?而 MySQL 显然是最好用的数据库之一。 但是博主自己经验来说,最讨厌配 MySQL 的环境了,还好有 Docker 可以简单解决这个问题。 使用思路: Docker的容器是可以被删除、复制的。 但显然,MySQL 作为一个数据库,是不能接受这样的情况发生(因为会导致数据丢失)。 初步的解决...
docker安装mysql无法连接的问题记录
  使用docker安装最新版的mysql:latest,启动容器,在宿主机中连接容器时,报错如下: [root@iZwz9b78w5ngl55b3jtxm0Z mysql]# mysql -h0.0.0.0 -P5000 -uroot -p Enter password: ERROR 2059 (HY000): Authentication plugin 'caching_sha2_pas...
Docker安装mysql镜像及客户端无法连接
1.Docker安装mysql镜像 在官网查看mysql镜像相关信息 安装 mysql5.7.21 docker pull mysql:5.7.21 查看mysql是否安装成功 运行镜像 docker run --name mysql.5.7.21 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin -d mysql:5.7.21 --n...
如何创建一个基于Docker的mysql的container
如何创建一个基于Docker的mysql的container
如何获取docker宿主机ip
获取docker宿主机ip 本文转自[记录无限:www.gluoo.cn]. 在开发调试过程中,很可能遇到类似的情况: 宿主机跑着一个DB,不管是MySQL还是MongoDB,总之跑在宿主机,docker里运行着应用程序,但程序要连宿主机的DB时,不知道其IP咋办? 解决方案: alias hostip="ifconfig en0 | grep inet | grep
在容器中操作宿主机的Docker
尽管该操作方式不合理,违背了Docker的初衷,但有些场景仍然可以使用。 $ docker run -d --name docker \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker \ -v /usr/lib/x86_64-linux-gnu/libltdl.so.7:...
Docker和宿主机之间共享文件
其实只需要一条命令,就能实现Docker和宿主机之间共享文件。 启动Docker镜像的命令一般如下:docker run -it microsoft/dotnet:latest /bin/bash其中-it后面的参数就是你docker镜像的名称。 现在只需要加一个-v参数即可。docker run -it -v /home/haha/下载:/share microsoft/dotnet:late
Docker与宿主机的端口映射
Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。
在docker和宿主机之间复制文件
在docker和宿主机之间复制文件 从主机复制到容器: sudo docker cp host_path containerID:container_path 从容器复制到主机: sudo docker cp containerID:container_path host_path 容器ID的查询方法想必大家都清楚: docker ps -a 很简单明了了吧。。就不...
docker 访问宿主机
有时候就需要在docker容器里访问宿主机提供的服务。 例如容器里的应用需要访问宿主机的mysql服务。 方案一: 宿主机执行ifconfig 会看到docker0那个ip,可以使用来访问宿主机 方案二: docker 18.03 加入了一个 feature,在容器中可以通过 host.docker.internal来访问主机 Use your internal IP addres...
Docker跨宿主机通信
Docker跨宿主机通信 Docker跨宿主机通信目前有如下几种主流方法: 使用路由机制打通网络; 使用Open vSwitch(OVS)打通网络 ; 使用flannel来打通网络; 使用Quagga来实现自动学习路由; 借助openstack、k8s等方式。 本文主要使用路由机制打通网络。 一、拓扑图 因为Docker默认的网桥docker0为172.17.0.1/16网段
如何使用 docker 安装配置 mysql
Docker对于项目中的测试工作起着重要的作用,能使测试工作得到较为满意的效果,那功能强大的docker是怎样完成对mysql的安装和配置的呢,下面我就根据自己的实际安装配置过程给大家做一个简要的介绍。 环境:Windows10     DockerToolbox    MySql5.7     MySql客户端SQLyog11.1(同Navicat) 第一步:双击桌面docker图标进行启动...
docker如何简单部署mysql
#1    docker pull mysql #2    docker run -v /data/var/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=kS4pJUIb mysql #3    docker stop [CONTAINER ID] #4    docker run -it -v /data/var/mysql/:/va
在docker容器中调用和执行宿主机的docker
首先这个帖子,献给docker新手。当然如果你是一个老手,文中分割线后的操作方法也是一种思路。 首先说一下,如何在docker中执行宿主机的docker操作,我们管它叫docker in docker。 至于为什么要在docker中操作宿主机的docker,优点不言而喻,你既可以将你的具体需求容器化部署,又不用直接在宿主机上安装(假设我们没有办法在docker中操作宿主机的docker,那么我们只...
DOCKER mysql 离线镜像
用于docker离线安装mysql镜像,解压到制定目录,导入即可
(2)docker安装mysql
拉取镜像 [root@starseaing9228 ~]# docker pull mysql:5.7.26 5.7.26: Pulling from library/mysql 27833a3ba0a5: Pull complete 864c283b3c4b: Pull complete cea281b2278b: Pull complete 8f856c14f5af: Pull comp...
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded
问题: 连接Docker启动的mysql出现:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded C:\mysqldata>mysql -h 127.0.0.1 -P 13306 -uroot -pEnter password: ****ERROR 2059 (HY000):...
docker中的mysql操作
1.创建mysql镜像 docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag 2.进入mysql容器 docker exec -it some-mysql bash 3.查看mysql启动状态 service mysql stutas # 启动 service ...
docker 启动mysql报错
/usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint mysql01 (8fa42ea02eaa89af981cdd4bcc00b6a114deda8ac4d31cd22ab12269c79b2e4c): Error start...
mysql docker安装部署
下载mysql docker pull mysql:5.7 启动mysql docker run --rm --name mysql -e MYSQL_ROOT_PASSWORD=ysten123 -d -p 3306:3306 mysql:5.7 所有的表都使用utf-8编码 docker run --rm --name mysql -e MYSQL_ROOT_PASSWORD=yste...
Docker之Mysql数据持久化
1.拉取mysql镜像文件 拉取最新版本(也可以指定版本) docker pull mysql 检查本地镜像文件 docker images 2.创建配置文件 创建配置文件存放位置 和数据映射位置 mkdir -p /mysql/config /mysql/data 创建编辑配置文件 vi /mysql/config/my.conf my.conf配置文件内容如下 [mysqld] us...
docker mysql读写分离
首先启动master mysql容器 docker run -d -p 3306:3306 --name master -e MYSQL_ROOT_PASSWORD=good mysql 然后登陆到master mysql容器 docker exec -it master bin/sh 修改master容器下的/etc/mysql/my.cnf文件,加上如下两行: [mysq
docker容器中部署mysql
1.拉取mysql镜像(可以通过docker search mysql搜索查找需要的版本镜像) docker pull centos/mysql-57-centos7 2.创建容器 docker run -di --name=cz_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7 -p 代...
docker使用例子---mysql操作
—————————————————————————— sudo docker images docker images 列出本地主机上的镜像。 docker ps -a 查看已经创建的容器 docker ps -s 查看已经启动的容器 docker start con_name 启动容器名为con_name的容器。 docker stop con_name 停止容器名为con_...
docker配置使用mysql镜像
################################################# #拉取镜像 docker pull mysql:5.7 ################################################# # 直接启动,设置映射端口3318,mysql的root密码为root,容器移除之后不会保存数据。 docker run -p 3318:330...
docker安装mysql镜像
docker search mysql docker pull mysql run docker run -e MYSQL_ROOT_PASSWORD=123456 -d mysql docker run -e MYSQL_ROOT_PASSWORD=123456 -d -h hostname --name my_mysql mysql...
docker下安装mysql镜像
本文采用centos7,用户为root用户。 一. 安装docker Docker 要求 CentOS 系统的内核版本高于 3.10 ,通过 uname -r 命令查看当前的内核版本。 $ uname -r 确保 yum 包更新到最新。 $ yum update 如果安装过旧版本的话,卸载旧版本。 $ yum remove docker docker-common dock...
docker 安装mysql镜像
1.拉取mysql镜像 docker pull mysql:8.0 2.查看镜像,找到mysql8.0的镜像id docker images 3.创建容器 docker create -it --name mysql8.0 镜像id /bin/bash 4.启动容器 docker start -ai mysql8.0 5.查看所有的容器 docker conta...
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池