七、Docker网络模式详解

article/2025/5/19 9:54:05

目录

  • 一、docker网络概述
    • 1、docker网络实现的原理
    • 2.容器的端口映射
      • 1).端口映射
      • 2).四种端口映射
      • 3).端口映射演示
        • (1).随机端口映射(-P)
        • (2).指定端口映射(-p 宿主机端口:容器端口)
        • (3).指定网卡随机端口映射(-p ::)
        • (4).指定网卡指定端口映射(-p 宿主机IP:宿主机端口:容器端口)
  • 二、docker的网络模式
    • 1.前言
    • 2.默认网络
    • 3.使用docker run 创建Docker容器,可以用--net或--network选项指定的网络模式
  • 三、docker网络模式详解
    • 1.host模式
    • 2.container模式
    • 3.none模式
    • 4.bridge模式
  • 四、docker network命令详解
  • 1.network所有的子命令:
      • 2).将正在运行的容器连接到网络
      • 3).指定容器的IP地址
      • 4).使用legacy —link选项
      • 5).停止,暂停或重新启动容器的网络影响
    • 2.docker network create
      • 1).语法
      • 2).连接容器网络
      • 3).指定高级选项
      • 4.桥接驱动程序选项
    • 3、docker network disconnect
      • 1.语法
      • 2.示例
    • 4、显示一个或多个网络的详细信息(docker network inspect)
      • 1).语法
    • 5、列出网络(docker network ls)
      • 1).语法
      • (2).使用--no-trunc选项显示完整的网络ID:
      • (3).过滤--DRIVER
      • (4).过滤--ID
      • (5).过滤--标签
      • (6).过滤--名称
      • (6).过滤--类型
      • (7).格式化
      • 6.删除所有未使用的网络
        • 1).前言
        • 2).删除所有未连接的网络
      • 7.删除一个或多个网络
        • 1).前言
        • 2).要删除名为“net-test”的网络:
        • 3).删除多个网络:
  • 2.新建名为net-test的网桥(只有使用–subnet创建的网络才能指定静态IP)
    • 1.创建网络
    • 2.重新查看网络配置信息:
    • 3.备注信息:
    • 4,使用自定义网桥,指定端口启动容器

一、docker网络概述

1、docker网络实现的原理

Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,成为Container-IP,同时Docker’网桥是 每个容器的默认网关。
因为同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。

Docker网桥是宿主机虚拟出来的,并不是真实存在网络设备,外部网络是无法寻址到的,这也意味着外部网络无法直接通过Container-IP访问到容器。

如果容器希望外部访问能访问到,可以通过映射容器端口到宿主主机(端口映射),即 docker run创建容器时通过-p或-P参数来启用,访问容器的时候就通过[宿主机IP]:[容器端口]访问容器

2.容器的端口映射

1).端口映射

  • 把容器的端口映射为宿主机的一个随机或者特定端口,使用外部用户可以访问容器服务

  • 端口映射本是在容器底层做了 iptables 地址转发,出去的流量做 SNAT 源地址转发,进来的流量做 DNAT 目标地址转发。

2).四种端口映射

  • 随机端口映射:就是把容器的端口随机映射为宿主机的一个端口。
  • 指定端口映射:就是把容器的端口映射为宿主机的指定端口。
  • 指定网卡随机端口映射:就是把容器的端口映射为宿主机的指定网卡的随机端口。
  • 指定网卡端口映射:就是把容器的端口映射为宿主机的指定网卡的指定端口。

3).端口映射演示

(1).随机端口映射(-P)

把 容器 8080 的端口映射到宿主机的随机端口

docker run -itd -P centos:latest

在这里插入图片描述
在这里插入图片描述

(2).指定端口映射(-p 宿主机端口:容器端口)

将 web 容器的 8080 端口指定映射到宿主机的 8000 端口

docker run -itd -p 8000:8080  --name web centos 

在这里插入图片描述
在这里插入图片描述

(3).指定网卡随机端口映射(-p ::)

将 tomcat 容器的 8080 端口映射到宿主机 ens33 网卡的随机端口

docker run -itd -p 192.168.153.130::8080   --name tomcat  centos 
其中:192.168.153.130宿主机ip

在这里插入图片描述
#查看映射结果,容器 8080 端口映射到了宿主机的192.168.153.130:49153 端口

(4).指定网卡指定端口映射(-p 宿主机IP:宿主机端口:容器端口)

将 mysql 容器的 3306 端口映射到宿主机 ens33 网卡的 13306 端口

docker run -itd -p 192.168.153.130:13306:3306  --name mysql   centos 

在这里插入图片描述

二、docker的网络模式

1.前言

四类网络模式:

选项描述
Host基础镜像(容器不会虚拟出自己的网卡,配置主机的IP等,而是使用宿主机的IP和端口;
Container创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP,端口范围;
None 该模式关闭了网络功能
Bridge默认为该模式,此模式会为每一个容器分配,设置IP等,并将容器连接到一个docker0的虚拟网桥,通过docker0网桥以及iptables nat表配置与宿主机通信。

2.默认网络

当你安装Docker时,它会自动创建三个网络Bridge(创建容器,默认连接到此网络)、none、host。你可以使用一下docker network ls 或者docker network list命令列出这些网络:

docker network ls
docker network llist

在这里插入图片描述

3.使用docker run 创建Docker容器,可以用–net或–network选项指定的网络模式

选项描述
host模式使用--net=host指定;
none模式使用--net=hnone指定;
container模式 使用--net=container:NAME_ _or_ID指定;
bridge模式使用--net=bridge指定;

三、docker网络模式详解

1.host模式

host 模式: 使用–net=host模式指定
相当于VMware中的桥接模式,与宿主机在同一个网络中,但没有独立的IP地址。

Docker 使用了Linux的Namespace技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。一个Network Namespace提供了一份独立的网络环境,包括网卡,路由,iptables 规则等都与其他Network Namespace隔离。一个Docker容器一般会分配一个独立的Network Namespace。

Namespace的简要说明:
Docker使用了Linux的Namespaces技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。
一个Network Namespace提供了一份独立的网络环境,包括网卡、路由、Iptable规则等都与其他的NetworkNamespace隔离。一个Docker容器一般会分配一个独立的Network Namespace。

但是如果启动容器的时候使用host模式,name这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口范围。此时容器不再拥有隔离的、独立的网格栈,不拥有所有的端口资源。

在这里插入图片描述

docker run -itd  --name   net-test -p 80  mycentos:1.0  /bin/bash
docker run -itd  --name   net-test1 -p 80  mycentos:1.0  /bin/bash
docker ps
docker attach net-test
ifconfig

在这里插入图片描述

2.container模式

这个模式指定新创建的容器和已经存在的一个容器共享一个 Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的 IP,而是和一个指定的容器共享 IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过 lo 网卡设备通信
在这里插入图片描述

docker ps
#查看容器进程PID
docker inspect -f '{{.State.Pid}}' net-test
#查看容器进程、网络、文件系统等命名空间编号
ls -l /proc/容器进程PID/ns

在这里插入图片描述

3.none模式

加上后面的参数就行了 --net=none

none模式没有IP地址,无法连接外网,等于就是断网的状态,作用就是用于测试,生产环境一般不会用到这种。

4.bridge模式

当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。

从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。在主机上创建一对虚拟网卡veth pair设备,Docker将veth pair设备的一端放在新创建的容器中,并命名为eth0(容器的网卡),另一端放在主机中,以vethxxx这样类似的名字命名,并将这个网络设备加入到docker0网桥中。可以通过brctl show命令查看。

bridge模式是docker的默认网络模式,不写–net参数,就是bridge模式。使用docker run -p时,docker实际是在iptables做了DNAT规则,实现端口转发功能。可以使用iptables -t nat -vnL查看。

bridge模式如下图所示:

在这里插入图片描述

四、docker network命令详解

1.network所有的子命令:

命令名称说明
docker network connect将容器连接到网络
docker network create创建一个网络
docker network disconnect断开容器的网络
docker network inspect显示一个或多个网络的详细信息
docker network ls列出所有网络
docker network prune删除所有未使用的网络
docker network rm删除一个或多个网络

官网命令连接查看:

命令名称说明
docker network connectConnect a container to a network
docker network createCreate a network
docker network disconnectDisconnect a container from a network
docker network inspectDisplay detailed information on one or more networks
docker network lsList networks
docker network pruneRemove all unused networks
docker network rmRemove one or more networks
## 1.docker network connect ### 1).语法 docker network connect命令用于将容器连接到网络。可以按名称或ID连接容器。 一旦连接,容器可以与同一网络中的其他容器通信。 **用法:**
docker network connect [OPTIONS] NETWORK CONTAINER

选项

名称,简写默认说明
--alias为容器添加网络范围的别名
--ip指定IP地址
--ip6指定IPv6地址
--link添加链接到另一个容器
--link-local-ip添加容器的链接本地地址

2).将正在运行的容器连接到网络

将正在运行的容器(my_container1)连接到网络(multi-host-network)

docker network connect multi-host-network my_container1

启动容器时将其连接到网络(multi-host-network)
还可以使用docker run --network=选项启动容器并立即将其连接到网络。

docker run -itd --network=multi-host-network busybox-container

3).指定容器的IP地址

可以指定要分配给容器网络接口的IP地址。

docker network connect --ip 10.10.36.122 multi-host-network container2

4).使用legacy —link选项

可以使用–link选项将另一个容器与首选别名相链接

docker network connect --link container1:c1 multi-host-network container2

为容器创建一个网络别名
–alias选项可用于通过连接到的网络中的另一个名称来解析容器。

docker network connect --alias db --alias mysql multi-host-network container2

5).停止,暂停或重新启动容器的网络影响

可以暂停,重新启动并停止连接到网络的容器。容器在运行时连接到其配置的网络

docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 multi-host-network
docker network connect --ip 172.20.128.2 multi-host-network container2

2.docker network create

1).语法

docker network create命令用于创建一个新的网络连接。 DRIVER接受内置网络驱动程序的桥接或覆盖。如果安装了第三方或自己的自定义网络驱动程序,则可以在此处指定DRIVER。 如果不指定–driver选项,该命令将为您自动创建一个桥接网络。 当安装Docker Engine时,会自动创建桥接网络。 该网络对应于Engine传统依赖的docker0网桥。 当启动使用docker run运行新容器时,它将自动连接到此桥接网络。不能删除此默认网桥,但可以使用network create命令创建新的网络。

docker network create [OPTIONS] NETWORK
名称,简写默认说明
--attachablefalse启用手动容器安装
--aux-addressmap[]网络驱动程序使用的辅助IPv4或IPv6地址
--driver, -dbridge驱动程序管理网络
--gateway用于主子网的IPv4或IPv6网关
--internalfalse限制对网络的外部访问
--ip-range从子范围分配容器ip
--ipam-driverdefaultIP地址管理驱动程序
--ipam-optmap[]设置IPAM驱动程序的具体选项
--ipv6false启用IPv6网络
--label在网络上设置元数据
--opt, -omap[]设置驱动程序特定选项
--subnet表示网段的CIDR格式的子网

2).连接容器网络

启动容器时,使用–network标志将其连接到网络。 此示例将busybox容器添加到mynet网络:

docker run -itd --network=mynet busybox

如果要在容器运行后将容器添加到网络,请使用docker network connect子命令。

3).指定高级选项

创建网络时,引擎默认为网络创建一个不重叠的子网。 该子网不是现有网络的细分。 它纯粹用于IP寻址目的。可以覆盖此默认值,并使用–subnet选项直接指定子网络值。 在桥接网络上,只能创建单个子网:

docker network create --driver=bridge --subnet=192.168.0.0/16 br0

另外,还可以指定–gateway --ip-range和–aux-address选项。

docker network create \--driver=bridge \--subnet=172.28.0.0/16 \--ip-range=172.28.5.0/24 \--gateway=172.28.5.254 \br0

如果省略–gateway标志,引擎将从首选池中选择一个。对于覆盖网络和支持它的网络驱动程序插件,可以创建多个子网络。

docker network create -d overlay \--subnet=192.168.10.0/25 \--subnet=192.168.20.0/25 \--gateway=192.168.10.100 \--gateway=192.168.20.100 \--aux-address="my-router=192.168.10.5" --aux-address="my-switch=192.168.10.6" \--aux-address="my-printer=192.168.20.5" --aux-address="my-nas=192.168.20.6" \my-multihost-network

确保子网不重叠。如果重叠的话网络创建失败,并且引擎会返回错误。

4.桥接驱动程序选项

创建自定义网络时,默认的网络驱动程序(即bridge)具有可以传递的其他选项。
例如,使用-o或–opt选项在发布端口时指定IP地址绑定:

docker network create \-o "com.docker.network.bridge.host_binding_ipv4"="172.19.0.1" \simple-network

3、docker network disconnect

1.语法

docker network disconnect命令用于断开容器的网络。容器必须运行才能将其与网络断开连接。
用法

docker network disconnect [OPTIONS] NETWORK CONTAINER

选项

名称,简写默认说明
--force, -ffalse强制容器断开网络的连接

2.示例

docker network disconnect multi-host-network container1

4、显示一个或多个网络的详细信息(docker network inspect)

1).语法

docker network inspect命令用于显示一个或多个网络的详细信息。它返回有关一个或多个网络的信息。 默认情况下,此命令将所有结果呈现在JSON对象中。
用法

docker network inspect [OPTIONS] NETWORK [NETWORK...]
名称,简写默认说明
--format, -f使用给定的Go模板格式化输出
### 2).示例
docker network disconnect multi-host-network container1

5、列出网络(docker network ls)

1).语法

docker network ls命令用于列出网络。列出引擎守护进程知道的所有网络。 这包括跨群集中多个主机的网络。

过滤
当前支持的过滤器有:

  1. 驱动器
  2. id(网络ID)
  3. label(label = 或label = = )
  4. 名称(网络名称)
  5. 类型(custom | builtin)
docker network ls [OPTIONS]

选项

名称,简写默认说明
--filter, -f提供过滤器值(例如’driver = bridge‘)
--format使用Go模板的美化网络
--no-truncfalse不要截断输出
--quiet, -qfalse只显示网络ID
### 2)、示例 ### (1).列出所有网络
docker network ls

在这里插入图片描述

(2).使用–no-trunc选项显示完整的网络ID:

docker network ls --no-trunc

在这里插入图片描述

(3).过滤–DRIVER

驱动程序过滤器根据驱动程序匹配网络。以下示例将网络与桥驱动程序相匹配:

docker network ls --filter driver=bridge

在这里插入图片描述

(4).过滤–ID

id过滤器匹配网络ID的全部或部分。以下过滤器匹配所有具有包含804f74e6eb17bcadac76f0f3…字符串的ID的网络。

docker network ls --filter id=804f74e6eb17bcadac76f0fd2fbd01ed76aa31e2e854799fb6cef2d0beb6ba33

在这里插入图片描述
还可以过滤ID中的子字符串,如下所示:

docker network ls --filter id=804f74e6eb17
docker network ls --filter id=80

在这里插入图片描述

(5).过滤–标签

标签过滤器基于单独存在标签或标签和值来匹配网络。以下过滤器将网络与使用标签进行匹配,而不管其值。
以下过滤器将网络与使用标签与prod值进行匹配。

docker network ls -f "label=usage=prod"

(6).过滤–名称

名称过滤器匹配网络名称的全部或部分。以下过滤器与包含net-test字符串的名称匹配所有网络。
也可以筛选名称中的子字符串,如下所示:

docker network ls --filter name=net-test

在这里插入图片描述

(6).过滤–类型

类型过滤器支持两个值; 内置显示预定义网络(桥,无,主机),而自定义显示用户定义的网络。以下过滤器与所有用户定义的网络相匹配:

docker network ls --filter type=custom

在这里插入图片描述
有了这个标志,它允许批量清理。 例如,使用此过滤器删除所有用户定义的网络:

docker network rm 'docker network ls --filter type=custom -q'

(7).格式化

格式化选项(–format)使用Go模板打印网络输出。
以下示例使用不带标题的模板,并输出用冒号分隔所有网络的ID和驱动程序条目:

docker network ls --format "{{.ID}}: {{.Driver}}"

在这里插入图片描述

6.删除所有未使用的网络

1).前言

docker network prune命令用于删除所有未使用的网络。未使用的网络是不被任何容器引用的网络。
用法

docker network prune [OPTIONS]
名称,简写默认说明
--force, -ffalse不要提示确认

2).删除所有未连接的网络

docker network prune

在这里插入图片描述

7.删除一个或多个网络

1).前言

docker network rm命令用于删除一个或多个网络。按名称或标识符删除一个或多个网络。 要删除网络,必须要先断开连接到它的任何容器的网络。

docker network rm NETWORK [NETWORK...]
名称,简写默认说明
--force, -ffalse不要提示确认

2).要删除名为“net-test”的网络:

docker network rm net-test

3).删除多个网络:

要在单个docker network rm命令中删除多个网络,请提供多个网络名称或ID列表。 以下示例删除标识为3695c422697f的网络和名为my-network的网络:

docker network rm 3695c422697f my-network

指定多个网络时,该命令会依次删除每个网络。 如果删除一个网络失败,则该命令继续到列表中的下一个,并尝试删除。 该命令报告每个删除的成功或失败。

2.新建名为net-test的网桥(只有使用–subnet创建的网络才能指定静态IP)

1.创建网络

docker network create --driver bridge --subnet 192.168.10.0/24 --gateway 192.168.10.1 net-test

在这里插入图片描述
报错:Error response from daemon: Pool overlaps with other one on this address space

这是因为新创建的网络自定义的子网ip与已有的网络子网ip冲突。

只需要重新定义子网ip段就行

docker network create --driver bridge --subnet 10.22.1.0/24 --gateway 10.22.1.1  net-test
docker network ls

在这里插入图片描述

2.重新查看网络配置信息:

docker network inspect  网桥名称
# 查看网络内部信息
docker network inspect net-test

在这里插入图片描述

3.备注信息:

当用ifconfig命令查看的时候,显示的并不是net-test,而是br-ed63c1fd55b9
如需能在ifconfig中显示网桥名称,添加选项com.docker.network.bridge.name

docker network create --driver bridge --subnet 25.168.1.0/24 --gateway 25.168.1.1  net-test1 -o com.docker.network.bridge.name=net-test1

在这里插入图片描述
在这里插入图片描述

4,使用自定义网桥,指定端口启动容器

docker run -it --network=net-test1 -p 8080:80  centos:7 /bin/bash

在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/76suhZNT.shtml

相关文章

使用navicat远程连接mysql时报2059错误解决方法

navicat连接mysql时报2059错误解决方法 报错原因解决方案1、管理员权限打开cmd2、修改加密规则及密码3、退出,重启mysql 报错原因 这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_pa…

navicat2012连接MySQL时提示2059错误

出现2059这个错误的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。通过网络查找发现我们可以将mysql用户登录的加密规则修改为mysql_native_password。 解决方法: 1.打开cmd&#xff0…

MySQL8:关于进入navicat连接MySQL出现2059界面

一.进入navicat连接MySQL出现2059页面: 原因:MySQL8之前版本中加密规则为mysql_native_password,MySQL8以后的加密规则为caching_sha2_password. 解决:将mysql用户登录加密规则修改为mysql_native_password即可. 二.解决方案: …

2059-Authentication plugin‘caching_sha2_password‘cannot be loaded

2059-Authentication plugin’caching_sha2_password’cannot be loaded 原因 由于目前已有的客户端连接软件还不支持Mysql8新增加的加密方式:caching_sha2_password 老的加密验证方式:mysql_native_password 解决方式 1、打开MySQL 8.0 Command Lin…

sqlyog连接mysql报错2058或者Navicat连接报错2059

下载了mysql8.0版本&#xff0c;结果连接的时候报了一些错误&#xff0c;这里进行总结 下载了mysql8.0版本&#xff0c;结果连接的时候报了一些错误&#xff0c;这里进行总结1、sqlyog连接mysql报错2058或者Navicat连接报错20592、sqlyog连接mysql报错 :连接失败 localhost<…

MySql 8.0.11 客户端连接失败:2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: ....

近期,换了新笔记本,重新安装了MySql数据库和客户端工具Navicat Premium 12。我是从官网上下载的MySql数据库&#xff0c; 版本为8.0.11&#xff0c;链接&#xff1a;https://dev.mysql.com/downloads/mysql/ 当数据库和客户端安装成功后&#xff0c;我使用客户端连接接数据库时…

Django数据迁移:django.db.utils.OperationalError: (2059, <NULL>) ----2059错误解决方案

数据库迁移&#xff1a; 迁移是Django同步你对模型所做更改到你的数据库模式的方式 python manage.py makemigrations 将应用下的models.py文件生成一个中间文件&#xff0c;并保存在migrations文件夹中 python manage.py migrate 执行迁移程序实现迁移&#xff0c;将每个应用…

mysql8版本2059报错解决方法

mysql由原来一直使用的5.6切换到8版本&#xff0c;本地安装完成后&#xff0c;使用命令可以正常连接&#xff0c;但是使用navicat一直报2059的错误&#xff0c;如下图&#xff1a; 问题原因&#xff1a; 由于在MySql8之前的版本&#xff0c;默认的加密规则是mysql_native_pass…

navicat premium连接数据库出现2059错误

安装navicat之后新建连接出现了2059的错误 打开doc窗口wind输入cmd打开 输入 mysql -u root -p 输入root用户的密码 选择数据库 输入 use mysql 查看加密的规则 输入 select Host,User,plugin from mysql.user; 加密方式是新的加密方式 更改回原来的加密方式 输入 A…

mysql 连接数据库时error 2059 解决

mysql 连接数据库时error 2059 解决 原因解决方法管理员运行cmd修改加密方式 原因 mysql8新版本发布&#xff0c;安装后出现2059错误。原因是在mysql8之前的版本中加密规则为mysql_native_password&#xff0c;而在mysql8以后的加密规则为caching_sha2_password。 所以通过命令…

虚拟机连接数据库报错2059

一、进入Navicat连接MySQL出现下面的2059界面二、解决办法 1.windowsR输入cmd进入页面 2.输入mysql -u root -p 然后输入密码进入数据库 3.输入use mysql 出现Database changed 4.输入select user,host from user; 目的为了查看user的root 对应host是什么 我的对应为% 5.输…

关于Navicat连接MySQL出现2059问题解决方法

一、进入Navicat连接MySQL出现下面的2059界面 原因&#xff1a;mysql8之前版本中加密规则为mysql_native_password&#xff0c;mysql8以后的加密规则为caching_sha2_password&#xff0c;将mysql用户登录加密规则修改为mysql_native_password即可&#xff01; 二、解决方案 1.…

2059 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded:报错的解决办法

目录 一、报错说明 二、原因 三、解决方法 一、报错说明 在windows本地安装mysql之后&#xff0c;用Navicat连接&#xff0c;然后报错&#xff1a; 2059 - Authentication plugin caching_sha2_password cannot be loaded 二、原因 由于目前已有的客户端连接软件还不支持…

【C++】2059:【例3.11】买笔(信息学奥赛)

好了&#xff0c;今天的内容就是买笔了&#xff0c;内容的详细意思也就是根据输入的表示星期几的数字&#xff0c;对应输出它的英文名称。&#xff08;博主正在冲200粉丝&#xff0c;喜欢的赶紧关注&#xff01;&#xff01;&#xff01;&#xff09; 【题目描述及其目的】 20…

Navicat 连接 MySql 报错2059时的解决方法

My报错2059时的操作方法 当你使用navicat连接MySQL 的时候&#xff0c;会出现报错2059.如下图所示&#xff1a; 按照如下操作&#xff1a; 1&#xff1a;在电脑中搜索 MySQL 8.0 Command Line Client - Unicode 并打开 2&#xff1a;输入密码连接到数据库 3&#xff1a;输入…

Navicat连接MySql8+出现2059错误解决办法

今天使用Navicat连接mysql的时候报了2059的错误&#xff0c;为了解决这个看似不难的问题&#xff0c;我也是试了不少方法&#xff0c;在这里给大家分享下我的经验。 首先出现2059这个错误的原因是因为在mysql8之前的版本中加密规则为mysql_native_password。但是在mysql8以后的…

2059 - authentication plugin...错误解决方法

2059 - authentication plugin...错误解决方法 Navicat 连接MySQL数据库出现错误&#xff1a;2059 - authentication plugin caching_sha2_password的解决方法。 错误原因&#xff1a;MySQL新版本&#xff08;8以上版本&#xff09;的用户登录账户加密方式是【caching_sha2_p…

navicat链接数据库显示2059错误【解决】

文章目录 问题重述解决方法 问题重述 navicat链接数据库弹窗提示错误 2059 错误信息&#xff1a; 2059 - Authentication plugin ‘caching. sha2 password’ cannot be loaded: #X.4gv頗 首先看了内容可以大概分析是因为密码编码的问题。 在Mysql5.x的时候使用的密码加密验证…

Navicat 连接MySQL数据库出现错误:2059

文章目录 前言问题原因解决办法1.进入mysql客户端2.查看mysql加密方式3.查看本地mysql用户的信息4.查看本地mysql用户的信息5.重新使用navicat连接mysql 总结 前言 使用Navicat连接mysql时出现错误&#xff1a; 问题原因 MySQL新版本&#xff08;8以上版本&#xff09;的用户…

连接mysql报2059错_MySQL连接2059错误解决方法

开始学MySQL&#xff0c;结果安装完SQLyog后连接不了&#xff0c;总是弹出提示2059错误。在网上查找了一下才发现原因&#xff0c;MySQL8.0.11版本启用了新特性&#xff0c;用户登录加密规则改为了caching_sha2_password&#xff0c;原有的不支持新特性。想使用caching_sha2_pa…