navicat无法连接到CentOS中Docker容器内的Mysql;报错10038;服务器端口访问被拒绝。

【AUTOSAR-DEM】-2.1-APP SWC设置UDS/OBD DTC检出和恢复 点击返回「《Autosar_BSW高阶配置》总目录」 案例背景(共6页精讲): DEM模块提供两种不同类型的Event: • BSW-related events:DEM_EVENT_KIND_BSW(通过C-API报告 - Dem_SetEventStatus) • SW-C-related events:DEM_EVENT_KIND_SWC(通过RTE operation - SetEventStatus) 下面我们讲讲在APP SWC中设置BusOff(总线关闭) DTC故障成立/恢复(其它 阅读详情

问题:在服务器上用docker配值好MySQL8.0的容器后,本地navicat无法连接。

解决过程记录,最后的解决方法是在安全组策略那里进行配置。

先在CentOS上把容器运行起来:
  • 下载镜像
docker pull mysql:8.0
  • 创建容器,设置端口映射3306-3306
docker run -di --name=mysql_a -p 3306:3306  -e MYSQL_ROOT_PASSWORD=123456 mysql
  • 进入容器启动mysql
docker exec -it mysql_a /bin/bash
  • 登陆
mysql -uroot -p123456
  • 让root可被所有ip链接,完了刷新限权
grant all privileges on *.* to root@'%' with grant option;  
flush privileges;
  • mysql8.0的版本和以前5的版本加密方式不一样,之前被坑过一次导致navicat无法连接上。这里先把这坑填了,将密码修改并改为之前的native加密方式。
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  • 上一步是让远程客户端连接数据库密码被修改了,实际上内部还是原来的加密方式,同样也修改一下,让容器内部的登陆密码也变成native加密方式。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY  '123456';
  • 检查用户信息是否修改成功:
use mysql ;  select user,host,authentication_string,plugin from user;

在这里插入图片描述

他表示改好了

  • 这个时候用本地navicat尝试进行连接:

在这里插入图片描述
我果然不可能这么顺利…看的很多教程好像到这一步就完了,而且成功连接上了。。

  • 之后各种百度,说可能是CentOS防火墙请求给过滤了,于是尝试关闭防火墙:
启动防火墙:systemctl start firewalld
关闭防火墙:systemctl stop firewalld
检查防火墙状态:systemctl status firewalld 

结果检查我的防火墙状态:

在这里插入图片描述

这根本没开的嘛。。

  • 于是又各种百度,有网友说可能是容器的映射端口失败,centos根本没有配分端口,或者分配错误。于是立马下包检查:
	1. 先安装包命令包:
yum install net-tools
	2.检查端口使用情况,只看tcp的:
netstat -nplt 

在这里插入图片描述
发现端口也是开启的,没毛病的嘛…

  • 这时候突然看到这个3306端口的进程使用的是IPv6协议,于是想到有没有可能是我发送的ipv4协议请求无法被正确解析。

于是使用本地机器win10的命令【telnet ip 端口号】 对远程服务器的3306端口进行测试:
这个需要win10本地设置开启telnet服务,具体设置可以百度到。

telnet 47.94.239.23 3306

结果3306无法连通。
在这里插入图片描述
而我对ipv4的22端口测试发现是能够连通的。

  • 于是猜想可能是服务器没有正确设置ipv4转为ipv6。

于是又登陆服务器:

看看应用程序是否只能bind在ipv6上面:

sysctl net.ipv6.bindv6only

结果:
在这里插入图片描述
看看ipv4是否能够转发:

sysctl net.ipv4.ip_forward

结果:在这里插入图片描述
1 表示能转发 ;0表示不能转发

口区,结果又都是正常的。。

  • 最后,在一篇博客上看到,阿里云的服务器还有一个叫安全组的东西。

这个东类似于防火墙,都是通过iptable组件来过滤ip。
于是打开我的阿里云的控制台,打开安全组策略。
在这里插入图片描述
发现里面默认只有开放端口22,但没有包含3306的端口范围,突然也明白了之前telnet测试为什么只有22号端口能够连通,3306无法连通。

于是手动添加一个入方向的安全组策略,端口范围设置为3306/3306,然后保存关网页,用navicat测试:

在这里插入图片描述

终于成功连上了,简直多舛。
45、数据挖掘学术文献推荐 本文是一篇关于数据挖掘领域的重要学术文献推荐,涵盖了经典理论与最新研究成果。内容包括关键研究论文、综述文章、教科书和专著的介绍,以及来自顶级会议和期刊的出版物推荐。此外,还探讨了数据挖掘与其他领域的交叉研究,如机器学习、统计学和数据库系统,并列举了多个实际应用案例。最后,分析了数据挖掘的未来发展趋势,如更加智能化的算法、高效的计算平台及隐私保护技术。无论是初学者还是专业人士,这些文献都将提供宝贵的学习资源和前沿动态。 阅读详情

相关推荐

实战演练:用wvp-GB28181-pro + ZLMediaKit搭建一个可用的国标视频监控测试环境(附设备模拟器对接)

本文详细介绍了如何使用wvp-GB28181-pro和ZLMediaKit在Ubuntu系统上搭建GB28181视频监控测试环境。从环境准备、组件解析到核心服务部署与设备模拟器对接,提供完整的实战指南,帮助开发者快速构建可验证的监控系统。

weixin_42692935的博客 579

Docker 启动mysql 用navicat连接时遇(10038)、(1251)错误

Docker 启动mysql 用navicat连接时遇2003-Can't connect to MySQL server on 'localhost'(10038)错误、Client does not support authentication protocol requested by server(1251)错误. 解决方案如下: 10038错误: 1.查检服务器是否启动 2...

huanxue517的专栏 3045

Python电梯II

输入数据有若干组(最多不超过1000组),每组数据的第一行为四个如题目中所示的整数N,u,d,s,由空格分隔开。第二行为不同楼层需要上下楼的请求, 最多不超过1000个。每个请求的格式为"from-to",其中"from"和"to"为所在楼层和要到达的楼层,保证from!=to。

沐风—云端行者 909

mysql远程链接10038_mysql无法远程连接10038错误的坑(阿里云ecs)

为什么有这篇博客昨天购买了阿里云的ecs服务器,通过xshell安装了docker,然后在docker环境中安装mysql,版本是8.0.21。开始一切顺利,在服务器环境中能正常执行各种命令。结果在使用navicat远程连接服务器mysql时卡住了,以下就是从卡住到解决的过程,希望能帮助到同样遇到这个问题的人。问题根源先说结论,由于是阿里云新实例,控制台未设置规则,远程无法访问3306这个端口,导...

weixin_36154762的博客 1350

手把手教你学GPU的KMD专栏--2.4 GPU固件加载与初始化流程

GPU固件(Firmware)是嵌入在GPU芯片ROM或EEPROM中的低级代码,是GPU启动时首先执行的程序。它负责GPU硬件的基础初始化和基本功能配置,是GPU与操作系统之间的"第一道桥梁"。与操作系统驱动不同,固件在CPU启动后、操作系统加载前就已执行,是硬件层面的"启动代码"。关键认知:GPU固件是GPU的"BIOS",没有它,GPU硬件无法进入可操作状态。就像CPU需要BIOS来初始化内存和外设一样,GPU需要固件来初始化其核心组件。

MHD0815的博客 111

高级数据结构之R树(R-tree)

R树(R-tree)是一种将B树扩展到多维情况下得到的数据结构,它最初由Antonin Guttman于1984年提出。B树的结点中会存储一个键的集合,这些键把线分成片段,沿着那条线的点仅属于一个片段。因此,B树使得我们可以很容易地找到点。如果把沿线各处的点表示成B树结点,我们就能够确定点所属唯一子结点,在那里可以找到该点。 Antonin Guttman在他提出R树的经典论文中给出的R树例子...

白马负金羁 1万+

使用Navicat无法连接到CentOS中Docker容器内的Mysql

主要考虑是权限设置的问题。 首先在docker启动mysql镜像,并映射到centos系统端口。 docker run --name [自定义镜像名]-e MYSQL_ROOT_PASSWORD=[密码] -p 3306:3306 -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 查看镜像运...

nico2333的博客 1741

全志V3S嵌入式驱动开发(驱动开发准备)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 之前的文章都是教大家怎么搭建环境、看原理图、编译内核和根文件系统、做镜像,直到现在才进入驱动开发的主题。毕竟整个专栏的目的,还是希望大家能够学会驱动外部硬件。驱动好硬件,分成硬件和软件两个部分,硬件的部分比较好理解,就是看相关的信号有没有对接上即可,但是软件对接、甚至于怎么写软件,大家好像接触的比较少,所以这个时候,就可以简单讨论一下,怎么样才能写驱动代码。 1、了解外部驱动芯

嵌入式-老费,一个分享专业嵌入式知识的blog 2024

navicat无法连接虚拟机docker的mysql容器解决方案

今天尝试使用navicat连接虚拟机中docker的mysql容器,一直报1251错误,因为我用的centOS网络设置是双网卡,以为是网络出了问题,所以就转移到Windows里,尝试使用navicat连接Windows的Mysql服务。 首先Windows安装好mysql8之后默认密码老是输不对,一开始找的一些方法只适合于旧版的MySQL,找了半天方法找到了最终解决方案: https://blog.youkuaiyun.com/huang1600301017/article/details/84866007?utm

hear_snow的博客 1345

《FPGA接口与协议》专栏的说明与导航

《FPGA接口与协议》专栏的说明与导航(建议阅读)。

孤独的单刀 17万+

如何将 Fiori Elements Object Page Header 工具栏里按钮用 JavaScript 代码设置成禁用状态

本文介绍了如何在SAP Fiori Elements应用中动态控制Object Page工具栏按钮的可用状态。通过UI5 Inspector工具分析发现,这些按钮的enabled属性都双向绑定到/ui/enabled模型字段。在StatusExt.controller.js中,通过获取按钮ID前缀拼接完整控件ID,使用setEnabled(false)方法即可禁用按钮。关键点包括:1)使用extensionAPI获取视图ID前缀;2)注意事件回调中的this上下文绑定;3)通过修改模型字段可同步更新所有绑定

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 372

navicat连接报错Can‘t connect to MySQL server on ‘localhost‘ (10038)

看到显示正在运行为成功启动。

weixin_43488159的博客 3834

YOLOv13添加DRB模块map暴涨12.33!准确率提升8.56!召回率提升15.66

本文介绍了在YOLOv13模型中添加DRB模块的改进方法。实验结果显示,添加DRB模块后模型性能显著提升,mAP暴涨12.33%,准确率提升8.56%。文章详细说明了移植过程,包括创建yolov13-DRB.yaml配置文件、修改tasks.py和__init__.py文件,以及引入UniRepLKNet模块的具体实现。其中重点描述了GRNwithNHWC、NCHWtoNHWC等核心组件的实现细节,并提供了完整的模型结构配置代码。这些改进使得YOLOv13模型在保持原有架构优势的同时,获得了更强大的特征提取

FJN110的博客 2819

docker mysql 连接10038 network restart 带来的问题

docker mysql 连接10038 network restart 带来的问题 网络修改和重启影响docker ,需要重新启动docker

wangchao_cn的专栏 1037

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【docker】mysql容器无法外部访问解决方案

进入容器内 docker exec -it mysql /bin/bash 登陆mysql mysql -u root -p 修改访问权限,允许所有人访问 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'; 更新权限 flush privileges;

qq_21387121的博客 2297

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Navicat连接docker中的mysql报错

解决办法: 1、首先docker ps命令查看正在运行的容器,确保我们想要连接的mysql已经启动,如果没启动使用docker start命令启动(下图查看结果表示已经启动了一个mysql) 2、接着运行docker exec -it b30062adc08c /bin/bash进入mysql容器 3、再接着输入mysql -u root -p命令,然后输入自己的密码,最后输入更新密码语句:...

苍穹尘的博客 4660

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

docker 安装mysql 使用navicat访问 解决

https://blog.youkuaiyun.com/weixin_42242494/article/details/80630267

xiaolinzi176的博客 6397

navicat连接docker 上的mysql

首先再docker上启动mysql容器: docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql 可以使用 docker ps -a, 来查看是否运行成功。。。 然后用navicat来连接。 连接的时候可能会有问题,可以参见: https://blog.youkuaiyun.com/weixin...

渔闻520的博客 2776

解决 Navicat for Mysql连接mysql出现10038问题

连接设备是腾讯云的Linux服务器,自己安装的PHP5.6,Apache2.4,mysql5.6      连接工具是Navicat for Mysql11.1.13 对Navicat的新建数据库进行配置后,在点连接测试的时候总是提示10038错误,一直进不去数据库,自己在服务器中上传一个PHP连接数据库的文件,测试,服务器内部可以正常访问mysql,用了win的cmd  dos窗口测

zhaogeno1的博客 6万+

mysql客户端连接报错10038

在windows下通过Navicat for MySQL连接时,出现 Can't connect to mysql server on xxx.xxx.xxx.xxx(10038) 的问题。解决方案如下:1、授权mysql>grant all privileges on *.* to 'root'@'%' identified by 'youpassword' with grant opti

半僧 5152

docker mysql无法远程连接问题

linux centos7 安装docker后, 启动失败:https://docs.docker.com/install/linux/docker-ce/centos/ 非root用户使用docker命令:将用户添加docker组, gpasswd -a username docker docker mysql 启动后无法远程连接: docker run --name mysql01 -p 33...

weixin_43271038的博客 5337

docker 安装 MySQL客户端连接错误

1.docker run -p 3307:3306 --name mysql8 -v /usr/local/mysql8/conf:/etc/mysql/conf.d -v /usr/local/mysql8/logs:/logs -v /usr/local/mysql8/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0...

yzg337283708的博客 527

解决远程连接mysql 报 2003错误的问题(docker)

解决办法: 一、在docker中启动mysql,定义端口号3306 [root@localhost ~]# docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql 二、执行命令,输入密码 [root@localhost ~]# docker exec -it mysql01 bash root@86...

qq_38099207的博客 6837

Docker部署mysql远程连接 解决2003

连接MySQL 这里我使用navicat远程连接,连接MySQL前需要防火墙开放端口或者关闭防火墙。 开放端口 firewall-cmd --add-port=3306/tcp --permanent // --permanent 永久生效,没有此参数重启后失效 firewall-cmd --reload // 重新载入 关闭防火墙 systemctl stop firewalld ...

5291

使用navicate远程登录docker上的mysql数据库

1.启动docker容器:systemctl start docker 2.启动docker中的mysql镜像:docker run -p 3307:3306(此处做端口映射通过远程登录的时候使用3307端口) --name mysql01(此处给docker启动的mysql起一个别名) -e MYSQL_ROOT_PASSWORD=123456(设置mysql的root用户登录时的密码,该处有...

ITElitZhouDaHuan的博客 1094

解决docker安装mysql8.0无法远程连接问题

docker如何安装mysql在百度上很多教程,我就不贴出来了,今天主要是解决远程连接mysql8.0的问题。 由于mysql8.0默认的密码加密方式是caching_sha2_password,而目前大多数人使用的navicat版本是不支持的 解决办法: 1. docker exec -it mysql bash 进入容器 2. mysql -uroot -pxxxxxx 进入mysq...

shuoshuo132的博客 8796
上一篇: 【回溯法】重复元素集合 求子集
下一篇: 本地无法直接访问localhost:8080跳转到欢迎页index.html页面;报错javax.servlet.http.HttpServletRequest.getHttpServlet...
wang__Ray
博客等级 码龄8年 59粉丝 17原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值