Naicat连接本地CentOS 7虚拟机上的MySQL数据库失败解决办法


注意:Navicat主机栏填的是Centos虚拟机的IP地址

一、检查mysql容器

确保网络正常、保证mysql容器处于运行中且用户名、密码和端口正确。

1、查看mysql容器是否运行

bash 复制代码
docker ps

2、查看mysql容器详细信息,可查看端口

bash 复制代码
docker inspect mysql

二、检查防火墙:

1、如果您在使用 Linux 服务器,确保防火墙设置没有阻止外部访问 3306 端口。可以用以下命令查看当前防火墙设置:

bash 复制代码
firewall-cmd --list-all

2、如果发现 3306 端口未开放,可以添加规则:

bash 复制代码
firewall-cmd --zone=public --add-port=3306/tcp --permanent

3、避免添加完的端口未能被识别,执行了 firewall-cmd --reload 命令,以使更改生效:

bash 复制代码
firewall-cmd --reload
防火墙配置分析

Zone: public (active)

当前活动的区域是 public,这通常表示适用于外部网络连接。

Target: default

目标策略为 default,这意味着如果没有其他规则匹配,则将应用默认行为。

Interfaces: ens33

防火墙当前配置与接口 ens33 相关联,这通常是您的网络接口。

Services: dhcpv6-client ssh

允许的服务包括 DHCPv6 客户端和 SSH。这意味着您可以通过 SSH 远程访问此机器。

Ports: (empty)

没有特别开放的端口。这是问题的关键所在,MySQL 的默认端口 3306 没有被列出,意味着它不能接受外部连接。

Protocols: (empty)

没有额外指定的协议。

Masquerade: no

没有启用 IP 伪装,这通常在 NAT 配置中使用。

Forward-ports: (empty)

没有配置端口转发规则。

Source-ports: (empty)

没有源端口的配置。

ICMP-blocks: (empty)

没有被阻止的 ICMP 协议。

Rich rules: (empty)

没有任何富规则(高级规则)。

相关推荐
程序员小八77712 小时前
MySQL 事务:一文把 ACID、隔离级别、MVCC、锁全串起来
数据库·mysql
lzhdim12 小时前
提高 SQL 语句执行速度的方法
java·开发语言·数据库·sql·oracle
ltl12 小时前
ClickHouse Distributed 引擎与分布式查询路由
数据库
Wang's Blog12 小时前
PostgreSQL笔记60: 权限与角色管理——从层级体系到最佳实践
数据库·笔记·postgresql
whcyhhh13 小时前
头歌实践教学平台:大数据存储2023(六)
大数据·数据库·python
Elastic 中国社区官方博客15 小时前
让大模型思考,让小模型执行:在 Elastic Workflows 中拆分 LLM 成本
大数据·运维·数据库·人工智能·elasticsearch·ai
Faith_xzc15 小时前
一条 SQL 顶一条 Flink 链路?Doris Streaming Job 持续导入全景解析
大数据·数据库·sql·flink
阮胜昌16 小时前
MySQL 中的动态数据脱敏:无需更改应用程序即可保护敏感数据
android·mysql·adb
小白说大模型17 小时前
AI驱动的个性化学习路径:知识图谱与知识点关联的存储与推理
大数据·人工智能·学习·mysql·机器学习·prompt·知识图谱
这个DBA有点耶17 小时前
多模数据库深度解读:从“多库拼装”到“一库多能”的架构演进
数据库·mysql·dba