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

APK静态分析(取证角度)——理论部分 APP是指应用程序(Application),是指能够在手机、平板电脑、电脑等移动设备上运行的软件。APP可以帮助用户进行各种功能操作,如社交媒体、游戏、购物、学习、工作等。用户可以通过应用商店或者在线下载安装APP,然后在设备上使用它们。APP的种类非常丰富,能够满足用户不同的需求和兴趣。 阅读详情

问题:在服务器上用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测试:

在这里插入图片描述

终于成功连上了,简直多舛。
【STM32】R05D电控红外协议的美的空调遥控器 目录一、设计思路一、R05D红外协议原理1.协议手册理解2.验证时序(重点)二、硬件实现1.需要的材料2.对发射模块电路进行修改3.STM32 GPIO选择三、代码实现1.载波38kHZ实现2.R05D时序实现3.调用函数并验证 一、设计思路 通常红外遥控采用NEC传输协议,而美的空调采用的是R05D红外协议(应该是自己设计的协议),因此用一般红外编码发射模块无法直接对空调进行控制。 解决方法:获取R05D协议手册 + 用红外接收管对原有遥控器红外接收进行波形分析。 一、R05D红外协议原理 R05D电控功 阅读详情

相关推荐

逐飞vs龙邱:英飞凌miniwiggler仿真器硬件接口差异全解析(附拆机对比图)

本文通过拆解对比逐飞与龙邱两家厂商的英飞凌miniwiggler仿真器,详细解析了其硬件接口的核心差异。重点分析了Type-C接口的取舍、DAP调试协议(SWD)的支持、电源设计(跳线帽vs拨码开关)以及工艺用料,为嵌入式开发者与智能车竞赛选手提供了清晰的选型参考和实际应用建议。

weixin_29189003的博客 113

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

AD5940阻抗测量开发板实战:从源码获取到工程调试全解析

本文详细解析了AD5940阻抗测量开发板的实战应用,从源码获取到工程调试的全过程。AD5940作为ADI公司的高精度阻抗测量前端芯片,适用于生物阻抗分析、电化学传感器等领域。文章提供了开发环境搭建、工程配置、常见问题排查及进阶调试技巧,帮助开发者快速掌握AD5940开发板的使用方法。

weixin_30919429的博客 212

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

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

weixin_36154762的博客 1350

单细胞分析(16)—— RNA Velocity 分析流程

RNA velocity 是一种强大的单细胞转录组分析工具,它可以预测细胞的未来状态,揭示发育轨迹,并用于探索细胞状态转换。RNA velocity 是一种通过单细胞 RNA 测序(scRNA-seq)数据推测细胞未来状态的分析方法。🚀**RNA velocity 提供了一个全新的角度来理解细胞的动态变化,为单细胞转录组分析带来了更深入的时空信息!

阅读文献,记录学习笔记 2979

使用 VPN 访问太理内部网相关问题总结【太原理工大学】

电脑连接 VPN,访问校园内部网相关问题总结,太原理工大学。

m0_52861684的博客 9878

使用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

ORB-SLAM3复现的详细过程——配置安装及ROS和脚本运行---Ubuntu20.04

所提供的图像具有高动态范围,事先进行了光度标定,用20Hz的帧率采集,分辨率为1024像素*1024像素;需要下载数据集dataset-room1_512_16和rgbd_dataset_freiburg1_desk。在一键安装ROS后,只需要再安装Pangolin即可,其他所有的需要都已经存在。用微型飞行器采集的视觉惯性数据集,包含双目相机和IMU同步测量数据及位姿的真值。第二条命令中的${ROS_PACKAGE_PATH}是自己文件的路径。其采用的相机和IMU传感器,在硬件上进行了时间同步。

琉璃轻纱的博客 1万+

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

自动驾驶嵌入式修炼秘籍:理想L9自动驾驶域控制器拆解

自动驾驶嵌入式修炼秘籍:理想L9自动驾驶域控制器拆解

pathfinder888的博客 2548

Mcgs 屏幕Modbus RTU通讯调试

昆仑通态屏幕作为Modbus Master 与 Modbus Slave通过RS485接口实现通信的调试记录

madao1234的博客 5569

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

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

weixin_43488159的博客 3834

7.26华为OD机试真题 新系统 - 炸弹人的雷区数量 (Java/Py/C/C++/Js/Go)

7.26华为OD机试真题 新系统 - 炸弹人的雷区数量 (Java/Py/C/C++/Js/Go)

算法大师! 793

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

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

wangchao_cn的专栏 1037

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【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

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

docker安装mysql8 的一些坑

1.下载镜像 (最新的 默认 latest) docker pull mysql 2.创建并启动容器(如果是有版本号的需要在mysql后边加 :版本号) docker run --name my_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql 3.修改加密模式 因为mysql8以上的的加密方式不一样 所以如果直接拿navi...

my的博客 2010
上一篇: 【回溯法】重复元素集合 求子集
下一篇: 本地无法直接访问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、付费专栏及课程。

余额充值