DBever连接PG库

一、简介

DBeaver是一种通用数据库管理工具,适用于需要以专业方式使用数据的每个人;适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的 免费(DBeaver Community) 的多平台数据库工具,支持 Windows、Linux 和 macOS。它有两个版本,企业版和社区版,对于个人开发者来说,社区版的功能已经足够强大。

DBeaver 是由 Java 编写的,默认使用 JDK 11 进行编译。社区版基于 Apache-2.0 License 在 GitHub 上开源,目前已获得 24k+ 的星标。

DBeaver支持80多个数据库。支持所有流行的数据库,包括:MySQL、PostgreSQL、MariaDB、SQLite、Oracle、Db2、SQL Server、Sybase、MS Access、Teradata、Firebird、Derby 等等。商业版本更是可以支持各种 NoSQL 和大数据平台:MongoDB、InfluxDB、Apache Cassandra、Redis、Apache Hive 等。

二、准备

1.开启虚拟机,登录centos7的root用户;

2.打开xshell(其他终端模拟器也行,也可以不连接终端),在Xshell终端的提示符下(例如[C:\~]$),使用以下命令连接到我所需要的192.168.204.128的root用户:

ssh root@192.168.204.128

 

根据弹窗提示输入密码登录root用户。

3.下载和安装DBeave

可以通过 DBeaver 官方下载安装包,前往DBeaver官方网站(Download | DBeaver Community),选择相应的版本下载即可:我这里选择的是Windows(installer),找到文件双击安装。

三、连接

1.打开DBeaver

安装完成后,打开DBeaver应用程序。

2.创建新连接

在DBeaver的主界面上,点击左上角的“新连接”按钮(图标为蓝色加号),或者右键单击“数据库连接”并选择“新建连接”。

3.配置连接参数

在新建连接对话框中,选择“PostgreSQL”作为数据库类型。然后,填写以下信息:

  • 主机名/IP地址:输入PostgreSQL服务器的主机名或IP地址。
  • 端口:输入PostgreSQL服务器的端口号,默认为5432。
  • 数据库:输入要连接的数据库名称。
  • 用户名和密码:输入用于连接到数据库的用户名和密码。

 

注意:

在DBeaver上连接PostgreSQL库时,需要提供正确的主机地址来建立连接。该主机地址应与CentOS 7上运行PostgreSQL服务器的主机地址相匹配。确保在 DBeaver 中提供正确的服务器 IP 地址作为主机地址,并使用与 CentOS 7 上 PostgreSQL 设置相匹配的端口号和其他必需的登录凭据,以成功连接到 PostgreSQL 数据库。

通常情况下,如果您在CentOS 7上安装了PostgreSQL服务器并希望使用DBeaver连接该服务器,则主机地址将相同。

如果PostgreSQL 的 listen_addresses 设置为 "*"(通配符),表示 PostgreSQL 监听所有可用的网络接口(IP地址)上的连接。在这种情况下,您可以在 DBeaver 中使用服务器的 IP 地址作为主机地址来连接 PostgreSQL 数据库。

如果dbever连接PG库时不使用默认用户,我们可以创建新的用户建立连接:

在 CentOS 7 的 PostgreSQL 数据库中创建用户和密码步骤:

  1. 登录到 CentOS 7 的 PostgreSQL 服务器。

  2. 打开终端或命令行界面,并使用超级用户(例如 postgres)执行以下命令来连接到 PostgreSQL 数据库:

    sudo -u postgres psql
    或
    su - postgres
    psql
  3. 在 PostgreSQL 命令提示符下,执行以下命令来创建新用户:

    CREATE USER username WITH PASSWORD 'password';
    --例如:
    CREATE USER CSY WITH PASSWORD '123456';

    username 替换为您想要创建的用户名,将 password 替换为您想要设置的密码。

  4. 授予该用户访问数据库的权限。执行以下命令来授予用户对所有数据库的适当权限:

    ALTER USER username CREATEDB;
    
  5. (可选)如果需要限制用户只能访问特定数据库,请执行以下命令:

    GRANT ALL PRIVILEGES ON DATABASE database_name TO username;
    --例如:
    GRANT ALL PRIVILEGES ON DATABASE postgres TO CSY;
    

    database_name 替换为您希望用户能够访问的数据库名称。

  6. 如果要授予在 CentOS 7 的 PostgreSQL 数据库中创建的新用户CSY拥有更多权限,在 PostgreSQL 命令提示符下,执行以下命令:

    --只授予对数据库的权限,而不包括对其中的表、视图、函数等的权限:
    GRANT ALL PRIVILEGES ON DATABASE database_name TO username;
    --例如:
    GRANT ALL PRIVILEGES ON DATABASE postgres TO CSY;
    
    --给予用户"CSY"对数据库中的所有位于public模式下的表、视图、函数等的全部权限:
    GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO CSY;
    GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO CSY;
    GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO CSY;
    
    --授权csy建立DB,建立角色的权限:
    --普通用户默认情况下是没有权限创建数据库的。只有超级用户才拥有该权限
    --若授予用户"CSY"创建数据库的权限,需要以超级用户身份登录到PostgreSQL
    ALTER USER CSY CREATEDB;
    
    --为用户"CSY"赋予创建角色的权限
    ALTER USER CSY CREATEROLE;
    
    
  7. 查看所创建角色/用户及其权限:

    \du
    

  8. 使用以下命令退出 PostgreSQL 命令提示符:

    \q
    

假如我们新创建的用户在DBEVER连接PG库测试时有这种提示:

比如我的用户CSY

致命错误: 用户 "CSY" Password 认证失败;

因为在PostgreSQL中创建一个新用户时,默认情况下是没有设置密码的。

我们创建时实际时配置有密码,但现在可以为新用户再修改下密码:

ALTER USER CSY WITH PASSWORD 'your_password';

注意:

①要以具有足够权限的用户登录到PostgreSQL数据库;

②确保您在PG库中的pg_hba.conf文件中配置了正确的认证规则。您可以通过编辑该文件来控制用户连接数据库时的认证方式。例如,可以使用密码认证或其他认证方法。

然后重启PostgreSQL服务,以使更改生效。

最后再测试连接即可连接成功。

4.测试连接

点击“测试连接”按钮,DBeaver将尝试连接到指定的PostgreSQL数据库。如果一切正常,将收到一个成功连接的消息。

如果在 DBeaver 中连接 PostgreSQL 数据库时遇到测试连接超时的问题,可以尝试以下解决方法:

①检查网络连接

确保您的 CentOS 7 服务器和客户端(运行 DBeaver 的计算机)之间的网络连接正常。检查防火墙设置、路由器配置或其他网络设备以确保允许对 PostgreSQL 端口的访问。

要检查防火墙设置、路由器配置或其他网络设备以确保允许对 PostgreSQL 端口的访问,并确定网络连接是否正常,请按照以下步骤进行操作:

Ⅰ、防火墙设置:
  • 检查 CentOS 7 服务器上的防火墙规则,确保已允许通过 PostgreSQL 使用的端口(通常是默认的 5432 端口)的入站连接。您可以使用以下命令来检查 iptables 防火墙规则:
    sudo iptables -L -n
    

    如果在 INPUT 规则中存在允许连接到 PostgreSQL 的端口规则,则表示防火墙设置正常。

在输出结果中,找到名为 "INPUT" 的链。该链包含了所有传入连接的规则。检查 "INPUT" 链中的规则,查看是否存在允许连接到 PostgreSQL 端口(通常是默认的 5432 端口)的规则。这些规则中通常会使用 -p tcp --dport 5432 来指定协议和端口。如果在 "INPUT" 链中存在类似下面的规则,表示防火墙设置正常:

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:5432

该规则表示允许从任意 IP 地址(0.0.0.0/0)连接到 PostgreSQL 端口(5432)的传入 TCP 连接。 

备注:

我当时在测试PG库连接时就一直出现连接超时的情况,经过多方查找和验证,最后发现时自己的防火墙设置中缺少了INPUT规则,即缺少了允许连接到 PostgreSQL 的端口规则:

运行sudo iptables -L -n命令后发现只有一个接受22端口的规则!

即在防火墙设置中没有找到类似以下规则的条目:

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:5432

这意味着当前的防火墙设置可能不允许从任意 IP 地址连接到 PostgreSQL 的默认端口(5432)。

注意:

具体的输出结果可能因系统配置而有所不同。确保检查 "INPUT" 链中的所有规则以确认是否存在允许连接到 PostgreSQL 端口的规则。如果未找到相应的规则,还请参考 CentOS 7 防火墙配置文档或联系系统管理员以获取准确的帮助。

防火墙设置中没有找到规则条目的解决办法:

  1. 使用超级用户权限打开终端或命令行界面。

  2. 检查并列出当前正在运行的防火墙服务。在 CentOS 7 上,默认使用的是 firewalld 服务。执行以下命令以查看状态:

    sudo firewall-cmd --state
    

  3. 如果输出显示 "running",则表示 firewalld 正在运行。执行以下命令启用对 PostgreSQL 端口的访问:

    sudo firewall-cmd --add-port=5432/tcp --permanent
    

  4. 重新加载防火墙配置以使更改生效:

    sudo firewall-cmd --reload
    

  5. 检查更新的规则条目,执行命令:

    sudo iptables -L -n
    

 现在,防火墙应该已被更新,允许来自任意 IP 地址的连接访问 PostgreSQL 的默认端口(5432)。DBever进行再次测试连接,发现成功连接PG库。至此我的问题就解决啦!

Ⅱ、路由器配置:
  • 检查路由器或网络设备上的端口转发设置,确保将请求从外部网络正确转发到 CentOS 7 服务器的相应端口。请参考您所使用的路由器或网络设备的文档,了解如何设置端口转发。
Ⅲ、网络连通性测试:
  • 在 CentOS 7 服务器上执行以下命令,以确保 PostgreSQL 服务器正在监听所需的端口(默认为 5432):
    netstat -tuln | grep 5432
    

如果结果中显示 "LISTEN",表示 PostgreSQL 正在监听该端口,这表示网络连接正常。

  • 在运行 DBeaver 的计算机上,可以使用 telnet 命令测试能否访问 CentOS 7 服务器上的 PostgreSQL 端口。例如,如果 PostgreSQL 端口是 5432,可以执行以下命令:
    telnet centos7_server_ip 5432
    

    如果成功连接,表示客户端可以访问服务器的 PostgreSQL 端口,这表示网络连接正常。操作步骤如下:

(1)打开命令提示符(Windows)或终端(Mac/Linux);

(2)在命令提示符或终端中,输入以下命令,并将 centos7_server_ip 替换为 CentOS 7 服务器的 IP 地址,将 5432 替换为 PostgreSQL 端口号:

telnet 192.168.204.128 5432

(3)按下回车键执行该命令。

(4)成功连接到 CentOS 7 服务器的 PostgreSQL 端口:

如果连接失败或显示任何错误消息,请检查网络设置、防火墙规则和其他网络设备,确保允许从运行 DBeaver 的计算机访问 CentOS 7 服务器的 PostgreSQL 端口。

如果在运行 DBeaver 的计算机上执行 telnet 命令时收到 "'telnet' 不是内部或外部命令" 的错误消息,这意味着 telnet 客户端未安装或未正确配置。

在最新的 Windows 操作系统中,默认情况下不包含 telnet 客户端。可以尝试以下方法来解决此问题:

安装 telnet 客户端:

  • 打开“控制面板”并选择“程序”或“程序和功能”。
  • 点击“打开或关闭Windows功能”。
  • 在弹出的窗口中找到并选中“Telnet客户端”,然后点击“确定”。
  • 等待安装完成后,尝试再次执行 telnet 命令。

以上步骤中,状态正常的表现包括:

  • 防火墙设置中存在针对 PostgreSQL 端口(通常是 5432)的入站规则。
  • 路由器或网络设备已正确配置端口转发,将请求从外部网络转发到 CentOS 7 服务器的 PostgreSQL 端口。
  • 在 CentOS 7 服务器上执行 netstat 命令时,显示 PostgreSQL 正在监听所需的端口。
  • 在运行 DBeaver 的计算机上通过 telnet 命令成功连接到 CentOS 7 服务器的 PostgreSQL 端口。

注意:

具体的网络环境和配置可能会有所不同,因此确保根据您自己的设置和需求进行适当的检查和调整。 

②检查主机地址和端口号

确保在 DBeaver 中正确输入了 PostgreSQL 服务器的主机地址和端口号。使用前面提到的方法验证服务器的 IP 地址和端口号,并确保在 DBeaver 中使用相应的值。

③检查 PostgreSQL 配置

在 CentOS 7 上,打开 PostgreSQL 服务器的配置文件 postgresql.conf(通常位于 /var/lib/pgsql/data 目录下),检查以下设置:

如果您更改了这些配置,请重启 PostgreSQL 服务器使更改生效。

  • listen_addresses:确保已启用适当的网络接口监听。
  • port:确保端口号与 DBeaver 中提供的端口号匹配。

④检查连接权限

确保在 DBeaver 中使用的用户名和密码具有适当的权限以连接到 PostgreSQL 数据库。确认用户具有登录权限并具有适当的数据库访问权限。

检查在 DBeaver 中使用的用户名和密码是否具有适当的权限以连接到 PostgreSQL 数据库,可以执行以下步骤:

  • 登录到 CentOS 7 的 PostgreSQL 服务器。
  • 执行以下命令登录到 PostgreSQL 数据库:
    psql -U username -d database_name
    

    将 username 替换为您在 DBeaver 中使用的用户名,并将 database_name 替换为要连接的数据库名称。

  • 如果成功登录(没有报错并且提示符变为 database_name=>),则表示该用户具有适当的登录权限。可以使用以下命令检查该用户的其他权限:比如查看所有角色/用户及其权限:

⑤考虑使用 SSH 隧道

如果通过公共网络访问 PostgreSQL 服务器存在限制或安全性考虑,您可以考虑使用 SSH 隧道来建立安全连接。通过 SSH 隧道,可以加密和安全地连接到服务器。在 DBeaver 中提供 SSH 隧道的相关设置。

5.连接到数据库

点击“连接”按钮,DBeaver将与PostgreSQL数据库建立连接。

6.查看和管理数据

完成连接后,可以在左侧的导航器中查看数据库对象(如表、视图等)。通过双击这些对象,您可以浏览和编辑数据,执行查询和其他操作。

7.窗口数据编辑

在 DBeaver 中连接到 PostgreSQL 数据库后,可以执行以下步骤来打开一个窗口并编辑 SQL:

  • 在 DBeaver 左侧的数据库导航树中,展开 PostgreSQL 数据库连接,然后展开该连接下的数据库。

  • 选择要编辑 SQL 的特定数据库对象,如表、视图或存储过程。

  • 右键单击所选对象,在弹出菜单中选择 "SQL Editor" 或类似的选项。这将打开一个新的 SQL 编辑器窗口。

  • 在 SQL 编辑器窗口中,您可以输入和编辑 SQL 语句。您可以执行查询、创建、修改或删除数据库对象,以及执行其他与 PostgreSQL 相关的操作。

  • 在编辑完 SQL 后,您可以点击工具栏上的 "Execute" 或 "Run" 按钮来执行 SQL 语句。

  • 执行结果将显示在 SQL 编辑器下方的结果窗格中。您可以查看返回的数据集、执行计划等。

PostgreSQL 数据库在安装时会创建一些默认的系统表,这些表用于存储数据库和表的元数据信息以及其他系统级别的信息。以下是一些常见的 PostgreSQL 默认表:

  • pg_catalog.pg_tables:该表存储了当前数据库中所有表的元数据信息,如表名、所属模式、表的所有者等。
  • pg_catalog.pg_columns:该表包含了当前数据库中所有表的列信息,如列名、数据类型、是否为主键等。
  • pg_catalog.pg_indexes:该表包含了当前数据库中所有表的索引信息,如索引名称、所属表、索引定义等。
  • pg_catalog.pg_views:该表存储了当前数据库中所有视图的元数据信息,如视图名称、视图定义等。
  • pg_catalog.pg_sequences:该表包含了当前数据库中所有序列(sequence)的信息,如序列名称、当前值、增量等。
  • pg_catalog.pg_stats:该表存储了当前数据库中所有表的统计信息,如行数、唯一值数等。

除了上述默认表之外,还有许多其他的系统表用于存储 PostgreSQL 数据库的各种信息。这些表位于 pg_catalog 模式下,并且大部分用户并不直接与这些表交互。相反,用户通常使用 SQL 命令或工具来查询和管理这些表的数据。 

注意:

不同版本的 PostgreSQL 可能会有略微不同的默认表。此外,我们还可以根据需要在数据库中创建自定义表来存储您自己的数据。想获取更详细的信息,建议参考 下PostgreSQL 官方文档(PostgreSQL 12.2 手册)或联系系统管理员以获取特定版本的默认表列表和相关信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/140187.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【哈夫曼树的构造和查找最小的的权值结点代码,哈夫曼编码的算法实现】

文章目录 哈夫曼树的构造和查找最小的的权值结点代码哈夫曼编码思想哈夫曼编码的算法实现 哈夫曼树的构造和查找最小的的权值结点代码 #include<iostream> using namespace std;typedef struct {int parent, lch, rch;//双亲结点和孩子结点的下标int weight;//权值 }htN…

ChinaSoft 论坛巡礼|开源软件供应链论坛

2023年CCF中国软件大会&#xff08;CCF ChinaSoft 2023&#xff09;由CCF主办&#xff0c;CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办&#xff0c;将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

Go语言安装教程

【Go系列-1】-Go安装教程 环境提前准备 安装的时候可以选择自己的目录进行环境管理 E:\Z_Enviroment\Go创建文件夹&#xff1a; E:\Z_Enviroment\Go E:\Z_Enviroment\GoWorks E:\Z_Enviroment\GoWorks\bin E:\Z_Enviroment\GoWorks\pkg E:\Z_Enviroment\GoWorks\src环境变量…

OpenCV:图像噪点消除与滤波算法

人工智能的学习之路非常漫长&#xff0c;不少人因为学习路线不对或者学习内容不够专业而举步难行。不过别担心&#xff0c;我为大家整理了一份600多G的学习资源&#xff0c;基本上涵盖了人工智能学习的所有内容。点击下方链接,0元进群领取学习资源,让你的学习之路更加顺畅!记得…

测试架构师基础-进阶体系知识点、性能测试安全测试

一、Linux必备知识 linux作为现在最流行的软件环境系统&#xff0c;一定需要掌握&#xff0c;目前的招聘要求都需要有linux能力。 二、Shell脚本 掌握shell脚本&#xff0c;包括shell基础与应用、shell逻辑控制、shell逻辑函数等。 三、互联网程序原理 自动化必由之路&#…

pid调参(实验室新人入门)

安装keil&#xff1a;下载MDK-ARM http://t.csdnimg.cn/yYF7W芯片包&#xff1a; https://www.keil.arm.com/devices/stmicroelectronics-stm32f429aghx/features/ 调参软件&#xff1a; https://blog.csdn.net/weixin_63568691/article/details/133606043调参方法&#xff1a;…

CSRF 漏洞详解

CSRF 漏洞详解 文章目录 CSRF 漏洞详解漏洞描述漏洞原理漏洞场景漏洞评级漏洞危害漏洞验证漏洞利用漏洞防御典型案例 漏洞描述 CSRF&#xff08;Cross-Site Request Forgery&#xff09;漏洞是一种Web应用程序安全漏洞&#xff0c;它允许攻击者利用受害者的已认证会话来执行未…

纯c语言模拟栈和队列(初学必看)

一、栈(Stack) 1.栈的概念及其结构 栈是一种特殊的线性表&#xff0c;在栈这个结构里&#xff0c;越先存进去的数据越难取出来。 这个结构就像是一个只有一端有打开的容器&#xff0c;越先放进去的球越在底部&#xff0c;想要把底部的球拿出来&#xff0c;就必须先把前面的求…

Python实现WOA智能鲸鱼优化算法优化卷积神经网络分类模型(CNN分类算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提…

快速验证微信小程序的AppId和AppSecret是否正确

解决方案说明 该验证方法是一种敏捷且高效的方式&#xff0c;特别适用于快速确认给定的 AppID 和 AppSecret 是否有效。在处理大量凭证或需要频繁验证的情况下&#xff0c;这种方法可以帮助您迅速而准确地完成验证过程。 特点 快速验证&#xff1a; 通过调用微信开放平台的接…

Selenium浏览器自动化测试框架简单介绍

selenium简介 介绍 Selenium [1] 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。支持的浏览器包括IE&#xff08;7, 8, 9, 10, 11&#xff09;&#xff0c;Mozilla Firefox&#xff0c;Safari&#xff0c;Google …

Rust编程中的线程间通信

1.消息传递 为了实现消息传递并发&#xff0c;Rust 标准库提供了一个 信道&#xff08;channel&#xff09;实现。信道是一个通用编程概念&#xff0c;表示数据从一个线程发送到另一个线程。 可以将编程中的信道想象为一个水流的渠道&#xff0c;比如河流或小溪。如果你将诸如…

Qt执行带参sql

//准备执行的sql语句&#xff0c;此为带参的sql语句query.prepare("update employee set Name:Name, Gender:Gender,Height:Height,"" Birthday:Birthday, Mobile:Mobile, Province:Province,"" City:City, Department:Department, Education:Educati…

农场养殖管理系统软件开发方案

一、项目概述 农场养殖管理系统是一款针对农场养殖管理的软件&#xff0c;旨在提高农场养殖效率和管理水平。本方案将详细介绍该系统的开发流程&#xff0c;包括需求分析、系统设计、数据库设计、界面设计、系统测试和上线运营等方面。 二、需求分析 在开发农场养殖管理系统…

Socket网络编程

本文主要讲解Socket网络编程。 首先介绍socket&#xff0c;包括TCP和UDP通信过程&#xff1b;然后介绍常用的函数&#xff1b;最后编写client-server例子&#xff0c;并进行测试。 文章目录 Socket介绍TCP通信过程服务器端通信过程&#xff1a;客户端通信过程&#xff1a; UDP通…

数据结构线性表——栈

前言&#xff1a;哈喽小伙伴们&#xff0c;今天我们将一起进入数据结构线性表的第四篇章——栈的讲解&#xff0c;栈还是比较简单的哦&#xff0c;跟紧博主的思路&#xff0c;不要掉队哦。 目录 一.什么是栈 二.如何实现栈 三.栈的实现 栈的初始化 四.栈的操作 1.数据入栈…

基于JavaWeb+SSM+校园零售商城微信小程序系统的设计和实现

基于JavaWebSSM校园零售商城微信小程序系统的设计和实现 源码获取入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 前言 摘 要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应…

AYIT-ACM实验室发展历程

AYIT-ACM简介 ACM协会为你的梦想插上翅膀。 本院ACM协会成立于2012年 2008年开始小规模参加河南省竞赛 2014年成功实现金牌零突破 指导老师&#xff1a;孙高飞老师 安阳工学院计算机科学与信息工程学院ACM队是一支优秀的队伍&#xff0c;一支充满活力与激情的队伍&am…

【51单片机】之入门详解(一)

&#x1f4c3;博客主页&#xff1a; 小镇敲码人 &#x1f49e;热门专栏&#xff1a;C语言进阶 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f30f; 任尔江湖满血骨&#xff0c;我自踏雪寻梅香。 万千浮云遮…
最新文章