GBase8c主备版500升级步骤

news/2024/9/19 3:20:47/ 标签: 南大通用, gbase8c, database, linux, shell

# 升级方式区别

就地升级:升级期间需停止业务进行,一次性升级所有节点。

灰度升级:灰度升级支持全业务操作,也是一次性升级所有节点。

指定节点升级:基于灰度升级,支持升级指定节点,支持部分节点升级。

注:升级前先备份一次数据,避免升级异常导致数据丢失

方式一:就地升级

1、检查版本及状态

# 检查系统状态

shell">[root@keep-gbase8c-primary ~]# cd /data/install_pkgb24/script
[root@keep-gbase8c-primary script]# ./gs_checkos -i A
Checking items:A1. [ OS version status ]                                   : NormalA2. [ Kernel version status ]                               : NormalA3. [ Unicode status ]                                      : NormalA4. [ Time zone status ]                                    : NormalA5. [ Swap memory status ]                                  : WarningA6. [ System control parameters status ]                    : WarningA7. [ File system configuration status ]                    : NormalA8. [ Disk configuration status ]                           : NormalA9. [ Pre-read block size status ]                          : NormalA11.[ Network card configuration status ]                   : WarningA12.[ Time consistency status ]                             : WarningA13.[ Firewall service status ]                             : NormalA14.[ THP service status ]                                  : Normal
Total numbers:13. Abnormal numbers:0. Warning numbers:4.
[root@keep-gbase8c-primary script]#

在这里插入图片描述

# 检查数据库版本和状态

shell"># 现版本为GBase8cV5 S5.0.0B10
[gbase@keep-gbase8c-primary ~]$ gsql -V
gsql (single_node GBase8cV5 S5.0.0B10 build 933ae03f) compiled at 2023-07-01 17:04:08 commit 0 last mr 206
[gbase@keep-gbase8c-primary ~]$ gs_om -t status --detail
[  CMServer State   ]node                    node_ip         instance                              state
-------------------------------------------------------------------------------------
1  keep-gbase8c-primary 192.168.122.45  1    /data/gbase/install/cm/cm_server Primary
2  keep-gbase8c-standby 192.168.122.44  2    /data/gbase/install/cm/cm_server Standby[   Cluster State   ]cluster_state   : Normal
redistributing  : No
balanced        : Yes
current_az      : AZ_ALL[  Datanode State   ]node                    node_ip         instance                         state
------------------------------------------------------------------------------------------
1  keep-gbase8c-primary 192.168.122.45  6001 /data/gbase/install/data/dn P Primary Normal
2  keep-gbase8c-standby 192.168.122.44  6002 /data/gbase/install/data/dn S Standby Normal

在这里插入图片描述

2、上传新包,并解压
shell">[gbase@keep-gbase8c-primary ~]$ cd /data/install_pkgb24/
[gbase@keep-gbase8c-primary install_pkgb24]$ tar -zxvf GBase8cV5_S5.0.0B24_centos7.8_x86_64.tar.gz
[gbase@keep-gbase8c-primary install_pkgb24]$ tar -zxvf GBase8cV5_S5.0.0B24_CentOS_x86_64_om.tar.gz

在这里插入图片描述

3、拷贝旧的安装模板,重新预安装

# 拷贝安装模板

shell">[gbase@keep-gbase8c-primary install_pkgb24]$ cp /data/install_pkg/gbase.xml ./
[gbase@keep-gbase8c-primary install_pkgb24]$ more gbase.xml
<?xml version="1.0" encoding="UTF-8"?>
<ROOT><!-- 整体信息 --><CLUSTER><!-- 数据库名称 --><PARAM name="clusterName" value="GBase_8c" /><!-- 数据库节点主机名(hostname) --><PARAM name="nodeNames" value="keep-gbase8c-primary,keep-gbase8c-standby" /><!-- 数据库安装目录--><PARAM name="gaussdbAppPath" value="/data/gbase/install/app" /><!-- 日志目录--><PARAM name="gaussdbLogPath" value="/data/gbase/log/om" /><!-- 临时文件目录--><PARAM name="tmpMppdbPath" value="/data/gbase/tmp"/><!--数据库工具目录--><PARAM name="gaussdbToolPath" value="/data/gbase/install/tool" /><!--数据库core文件目录--><PARAM name="corePath" value="/data/gbase/corefile"/><!-- 节点IP,与nodeNames一一对应 --><PARAM name="backIp1s" value="192.168.122.45,192.168.122.44"/></CLUSTER><!-- 每台服务器上的节点部署信息 --><DEVICELIST><!-- 节点1上的节点部署信息,sn:主机名 --><DEVICE sn="keep-gbase8c-primary"><!-- 节点1 的主机名--><PARAM name="name" value="keep-gbase8c-primary"/><!-- 节点1 所在的AZ 及AZ优先级--><PARAM name="azName" value="AZ1"/><PARAM name="azPriority" value="1"/><!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --><PARAM name="backIp1" value="192.168.122.45"/><PARAM name="sshIp1" value="192.168.122.45"/><!-- cm主 --><PARAM name="cmsNum" value="1"/><!-- cm主: CM 安装目录 --><PARAM name="cmDir" value="/data/gbase/install/cm"/><PARAM name="cmServerPortBase" value="15300"/><PARAM name="cmServerListenIp1" value="192.168.122.45,192.168.122.44"/><PARAM name="cmServerHaIp1" value="192.168.122.45,192.168.122.44"/><!-- cmServerlevel目前只支持1 --><PARAM name="cmServerlevel" value="1"/><!-- cms主及所有备的hostname --><PARAM name="cmServerRelation" value="keep-gbase8c-primary,keep-gbase8c-standby"/><!--dn--><PARAM name="dataNum" value="1"/><PARAM name="dataPortBase" value="15400"/><PARAM name="dataNode1" value="/data/gbase/install/data/dn,keep-gbase8c-standby,/data/gbase/install/data/dn"/><PARAM name="dataNode1_syncNum" value="0"/></DEVICE><!-- node2上的节点部署信息,其中“name”的值配置为主机名 --><DEVICE sn="keep-gbase8c-standby"><!-- 节点 2 的主机名--><PARAM name="name" value="keep-gbase8c-standby"/><!-- 节点2 所在的AZ 及AZ优先级--><PARAM name="azName" value="AZ1"/><PARAM name="azPriority" value="1"/><!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --><PARAM name="backIp1" value="192.168.122.44"/><PARAM name="sshIp1" value="192.168.122.44"/><!-- cm目录 --><PARAM name="cmDir" value="/data/gbase/install/cm"/></DEVICE></DEVICELIST>
</ROOT>

在这里插入图片描述

# 执行预安装

shell">[root@keep-gbase8c-primary install_pkgb24]# script/gs_preinstall -U gbase -G gbase -X gbase.xml

在这里插入图片描述

4、执行升级,会自动停数据库(auto-upgrade就地升级)

# 执行升级

shell">[root@keep-gbase8c-primary install_pkgb24]# su - gbase
[gbase@keep-gbase8c-primary ~]$ cd /data/install_pkgb24/
[gbase@keep-gbase8c-primary install_pkgb24]$ gs_upgradectl -t auto-upgrade -X gbase.xml
Static configuration matched with old static configuration files.
Performing inplace rollback.
Rollback succeeded.
Checking upgrade environment.
Successfully checked upgrade environment.
Wait for the cluster status normal or degrade.
Start check CMS parameter.
Old cluster version number less than 92574.
Start to do health check.
Successfully checked cluster status.
Backing up current application and configurations.
Successfully backed up current application and configurations.
Stop cluster with gs_om successfully.
Backing up cluster configuration.
Successfully backup hotpatch config file.
Successfully backed up cluster configuration.
Installing new binary.
Restoring cluster configuration.
Successfully restored cluster configuration.
Stop cluster with gs_om successfully.
Modifying the socket path.
Successfully modified socket path.
copy certs from /data/gbase/install/app_933ae03f to /data/gbase/install/app_973db353.
Successfully copy certs from /data/gbase/install/app_933ae03f to /data/gbase/install/app_973db353.
Stop cluster with gs_om successfully.
Switch symbolic link to new binary directory.
Successfully switch symbolic link to new binary directory.
Stop cluster with gs_om successfully.
Waiting for the cluster status to become normal.
.
The cluster status is normal.
Start to do health check.
Successfully checked cluster status.
Upgrade main process has been finished, user can do some check now.
Once the check done, please execute following command to commit upgrade:gs_upgradectl -t commit-upgrade -X /data/install_pkgb24/gbase.xml

在这里插入图片描述

5、检查版本及状态

# 主节点

shell">[gbase@keep-gbase8c-primary install_pkgb24]$ gsql -V
gsql (single_node GBase8cV5 S5.0.0B24 build 973db353) compiled at 2024-03-01 13:42:35 commit 0 last mr 484
[gbase@keep-gbase8c-primary install_pkgb24]$ gsql -p 15400 -d postgres
gsql ((single_node GBase8cV5 S5.0.0B24 build 973db353) compiled at 2024-03-01 13:42:35 commit 0 last mr 484 )
NOTICE : The password has been expired, please change the password.
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.postgres=#

在这里插入图片描述

# 备节点

shell">[gbase@keep-gbase8c-standby ~]$ gsql -V
gsql (single_node GBase8cV5 S5.0.0B24 build 973db353) compiled at 2024-03-01 13:42:35 commit 0 last mr 484
[gbase@keep-gbase8c-standby ~]$ gsql -p 15400 -d postgres
gsql ((single_node GBase8cV5 S5.0.0B24 build 973db353) compiled at 2024-03-01 13:42:35 commit 0 last mr 484 )
NOTICE : The password has been expired, please change the password.
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.postgres=# 

在这里插入图片描述

# 检查状态

在这里插入图片描述

6、执行命令提交升级
shell">[gbase@keep-gbase8c-primary install_pkgb24]$ gs_upgradectl -t commit-upgrade -X /data/install_pkgb24/gbase.xml
NOTICE: Start to commit binary upgrade.
Start to check whether can be committed.
Can be committed.
Start to set commit flag.
Set commit flag succeeded.
Start to do operations that cannot be rollback.
Wait for the cluster status normal or degrade.
Cancel the upgrade status succeeded.
Start to clean temp files for upgrade.
Start check CMS parameter.
Old cluster version number less than 92574.
Clean up backup catalog files.
Successfully cleaned old install path.
Stop cluster with gs_om successfully.
Clean temp files for upgrade succeeded.
NOTICE: Commit binary upgrade succeeded.

在这里插入图片描述

------------------------------------------- 分割线 -------------------------------------------

方式二:灰度升级

注:测试过程中发现先把备节点升级,后把主节点升级。

1、检查版本及状态

# 检查系统状态

shell">[root@keep-gbase8c-primary ~]# cd /data/install_pkgb26/script/
[root@keep-gbase8c-primary script]# ./gs_checkos -i A
Checking items:A1. [ OS version status ]                                   : NormalA2. [ Kernel version status ]                               : NormalA3. [ Unicode status ]                                      : NormalA4. [ Time zone status ]                                    : NormalA5. [ Swap memory status ]                                  : WarningA6. [ System control parameters status ]                    : WarningA7. [ File system configuration status ]                    : NormalA8. [ Disk configuration status ]                           : NormalA9. [ Pre-read block size status ]                          : NormalA11.[ Network card configuration status ]                   : WarningA12.[ Time consistency status ]                             : WarningA13.[ Firewall service status ]                             : NormalA14.[ THP service status ]                                  : Normal
Total numbers:13. Abnormal numbers:0. Warning numbers:4.

在这里插入图片描述

# 检查数据库版本和状态

shell"># 现版本为GBase8cV5 S5.0.0B24
[gbase@keep-gbase8c-primary ~]$ gsql -V
gsql (single_node GBase8cV5 S5.0.0B24 build 973db353) compiled at 2024-03-01 13:42:35 commit 0 last mr 484
[gbase@keep-gbase8c-primary ~]$ gs_om -t status --detail
[  CMServer State   ]node                    node_ip         instance                              state
-------------------------------------------------------------------------------------
1  keep-gbase8c-primary 192.168.122.45  1    /data/gbase/install/cm/cm_server Primary
2  keep-gbase8c-standby 192.168.122.44  2    /data/gbase/install/cm/cm_server Standby[   Cluster State   ]cluster_state   : Normal
redistributing  : No
balanced        : Yes
current_az      : AZ_ALL[  Datanode State   ]node                    node_ip         instance                         state
------------------------------------------------------------------------------------------
1  keep-gbase8c-primary 192.168.122.45  6001 /data/gbase/install/data/dn P Primary Normal
2  keep-gbase8c-standby 192.168.122.44  6002 /data/gbase/install/data/dn S Standby Normal

在这里插入图片描述

2、上传新包,并解压
shell">[gbase@keep-gbase8c-primary ~]$ cd /data/install_pkgb26/
[gbase@keep-gbase8c-primary install_pkgb26]$ tar -zxvf GBase8cV5_S5.0.0B26_centos7.8_x86_64.tar.gz
[gbase@keep-gbase8c-primary install_pkgb26]$ tar -zxvf GBase8cV5_S5.0.0B26_CentOS_x86_64_om.tar.gz

在这里插入图片描述

3、拷贝旧的安装模板,重新预安装

# 拷贝安装模板

shell">[gbase@keep-gbase8c-primary ~]$ cd /data/install_pkgb26/
[gbase@keep-gbase8c-primary install_pkgb26]$ cp /data/install_pkg/gbase.xml ./
[gbase@keep-gbase8c-primary install_pkgb26]$ cat gbase.xml
<?xml version="1.0" encoding="UTF-8"?>
<ROOT><!-- 整体信息 --><CLUSTER><!-- 数据库名称 --><PARAM name="clusterName" value="GBase_8c" /><!-- 数据库节点主机名(hostname) --><PARAM name="nodeNames" value="keep-gbase8c-primary,keep-gbase8c-standby" /><!-- 数据库安装目录--><PARAM name="gaussdbAppPath" value="/data/gbase/install/app" /><!-- 日志目录--><PARAM name="gaussdbLogPath" value="/data/gbase/log/om" /><!-- 临时文件目录--><PARAM name="tmpMppdbPath" value="/data/gbase/tmp"/><!--数据库工具目录--><PARAM name="gaussdbToolPath" value="/data/gbase/install/tool" /><!--数据库core文件目录--><PARAM name="corePath" value="/data/gbase/corefile"/><!-- 节点IP,与nodeNames一一对应 --><PARAM name="backIp1s" value="192.168.122.45,192.168.122.44"/></CLUSTER><!-- 每台服务器上的节点部署信息 --><DEVICELIST><!-- 节点1上的节点部署信息,sn:主机名 --><DEVICE sn="keep-gbase8c-primary"><!-- 节点1 的主机名--><PARAM name="name" value="keep-gbase8c-primary"/><!-- 节点1 所在的AZ 及AZ优先级--><PARAM name="azName" value="AZ1"/><PARAM name="azPriority" value="1"/><!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --><PARAM name="backIp1" value="192.168.122.45"/><PARAM name="sshIp1" value="192.168.122.45"/><!-- cm主 --><PARAM name="cmsNum" value="1"/><!-- cm主: CM 安装目录 --><PARAM name="cmDir" value="/data/gbase/install/cm"/><PARAM name="cmServerPortBase" value="15300"/><PARAM name="cmServerListenIp1" value="192.168.122.45,192.168.122.44"/><PARAM name="cmServerHaIp1" value="192.168.122.45,192.168.122.44"/><!-- cmServerlevel目前只支持1 --><PARAM name="cmServerlevel" value="1"/><!-- cms主及所有备的hostname --><PARAM name="cmServerRelation" value="keep-gbase8c-primary,keep-gbase8c-standby"/><!--dn--><PARAM name="dataNum" value="1"/><PARAM name="dataPortBase" value="15400"/><PARAM name="dataNode1" value="/data/gbase/install/data/dn,keep-gbase8c-standby,/data/gbase/install/data/dn"/><PARAM name="dataNode1_syncNum" value="0"/></DEVICE><!-- node2上的节点部署信息,其中“name”的值配置为主机名 --><DEVICE sn="keep-gbase8c-standby"><!-- 节点 2 的主机名--><PARAM name="name" value="keep-gbase8c-standby"/><!-- 节点2 所在的AZ 及AZ优先级--><PARAM name="azName" value="AZ1"/><PARAM name="azPriority" value="1"/><!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --><PARAM name="backIp1" value="192.168.122.44"/><PARAM name="sshIp1" value="192.168.122.44"/><!-- cm目录 --><PARAM name="cmDir" value="/data/gbase/install/cm"/></DEVICE></DEVICELIST>
</ROOT>

在这里插入图片描述

# 执行预安装

shell">[root@keep-gbase8c-primary install_pkgb26]# script/gs_preinstall -U gbase -G gbase -X gbase.xml

在这里插入图片描述

4、执行灰度升级

# 执行升级

shell">[root@keep-gbase8c-primary install_pkgb26]# su - gbase
[gbase@keep-gbase8c-primary ~]$ cd /data/install_pkgb26/
[gbase@keep-gbase8c-primary install_pkgb26]$ gs_upgradectl -t auto-upgrade -X gbase.xml --grey# 如果想监控集群状态,可以重起一个终端,循环执行以下命令
# 检查数据库版本
gs_ssh -c "gsql -p 15400 -d postgres -c 'select version()'"
# 检查数据库状态
gs_om -t status --detail

在这里插入图片描述

5、检查版本及状态

# 主节点

shell">[gbase@keep-gbase8c-primary ~]$ gsql -V
gsql (single_node GBase8cV5 S5.0.0B26 build aedab09d) compiled at 2024-04-16 15:03:11 commit 0 last mr 532
[gbase@keep-gbase8c-primary ~]$ gsql -p 15400 -d postgres
gsql ((single_node GBase8cV5 S5.0.0B26 build aedab09d) compiled at 2024-04-16 15:03:11 commit 0 last mr 532 )
NOTICE : The password has been expired, please change the password.
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.postgres=#

在这里插入图片描述

# 备节点

shell">[gbase@keep-gbase8c-standby ~]$ gsql -V
gsql (single_node GBase8cV5 S5.0.0B26 build aedab09d) compiled at 2024-04-16 15:03:11 commit 0 last mr 532
[gbase@keep-gbase8c-standby ~]$ gsql -p 15400 -d postgres
gsql ((single_node GBase8cV5 S5.0.0B26 build aedab09d) compiled at 2024-04-16 15:03:11 commit 0 last mr 532 )
NOTICE : The password has been expired, please change the password.
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.postgres=# 

在这里插入图片描述

# 检查状态

在这里插入图片描述

6、执行命令提交升级
shell">[gbase@keep-gbase8c-primary install_pkgb26]$ gs_upgradectl -t commit-upgrade -X /data/install_pkgb26/gbase.xml
Wait for the cluster status normal or degrade.
Start check CMS parameter.
Old cluster version number less than 92574.
Start to do health check.
Successfully checked cluster status.
Start check CMS parameter.
Old cluster version number less than 92574.
Successfully cleaned old install path.
Commit upgrade succeeded.
Start check CMS parameter.
Old cluster version number less than 92574.

在这里插入图片描述

------------------------------------------- 分割线 -------------------------------------------

方式三:指定节点升级

----------待更新


http://www.ppmy.cn/news/1527504.html

相关文章

【Transformer深入学习】之一:Sinusoidal位置编码的精妙

看苏神的文章提到&#xff1a;Transformer原论文使用Sinusoidal位置编码&#xff0c;作为位置编码的一个显式解&#xff0c;Google 在原论文中对它的描述寥寥无几&#xff0c;只是简单提及了它可以表达相对位置信息&#xff0c;并未提及这个编码的合理性。 看了几篇文章&#x…

python定时任务,定时爬取水质和天气

定时爬取水质和天气 代码 代码 from apscheduler.schedulers.background import BackgroundScheduler import requests import datetimeurlweather "http://localhost:8000/CrwalingViewWeather" # 天气接口 urlwater "http://localhost:8000/CrwalingViewW…

【LeetCode】每日一题 2024_9_15 与车相交的点(差分)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动&#xff01; 今天的题目曾经的我做过了 . . . 又是复习的一天 题目&#xff1a;与车相交的点 代码与解题思路 func numberOfPoints(nums [][]int) (ans int) { diff : [102]int{}for _, p : range nums {diff[p[0]]d…

Redhat 7,8系(复刻系列) 一键部署Oracle21c-xe rpm

Oracle21c-xe前言 无论您是开发人员、DBA、数据科学家、教育工作者,还是仅仅对数据库感兴趣,Oracle Database Express Edition (XE) 都是理想的入门方式。它是全球企业可依赖的强大的 Oracle Database,提供简单的下载、易于使用和功能齐全的体验。您可以在任何环境中使用该…

快手手撕 力扣2487 从链表中移除节点 单调栈 递归

Problem: 2487. 从链表中移除节点 &#x1f468;‍&#x1f3eb; 参考题解 &#x1f496; 递归解法 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* …

Qt中QGraphicsView窗口大小与视图大小的关系

在Qt框架中&#xff0c;QGraphicsView窗口和视图的大小之间存在一定的关系。为了更好地理解这种关系&#xff0c;我们可以从以下几个方面来阐述&#xff1a; 1. 窗口大小 定义&#xff1a;窗口大小指的是QGraphicsView部件在屏幕上占据的矩形区域的大小。它由宽度和高度两个维…

get_property --Cmakelist之中

get_property 是 CMake 中用于获取目标、目录、变量或文件等属性的命令。它可以提取某个特定属性的值&#xff0c;以便在构建脚本的其他地方使用。 语法 get_property(<variable> <TYPE> <name> PROPERTY <property-name> [SET | DEFINED | BRIEF_DO…

Spring Boot-API网关问题

****### Spring Boot API 网关问题分析与解决方案 在微服务架构中&#xff0c;API 网关扮演着非常重要的角色。它位于客户端和微服务之间&#xff0c;充当所有外部请求的入口&#xff0c;负责请求的路由、聚合、鉴权、限流等功能。Spring Boot 提供了多种方式实现 API 网关&am…

记录工作中遇到的问题(持续更新~)

跨域问题 2024-09-15 【前提】&#xff1a;前端配置了nignx转发&#xff0c;后端设置了跨域拦截&#xff0c;对http://xxxx做了允许跨域。但是访问http://xxx被拦截了&#xff0c;返回403 Forbidden。同样的配置放在另外一套部署的环境上就完全没问题&#xff0c;http://xxx可…

828华为云征文|华为Flexus云服务器搭建OnlyOffice私有化在线办公套件

一、引言 在当今数字化办公的时代&#xff0c;在线办公套件的需求日益增长。华为Flexus云服务器凭借其强大的性能和稳定性&#xff0c;为搭建OnlyOffice私有化在线办公套件提供了理想的平台。在2024年9月14日这个充满探索精神的日子里&#xff0c;我们开启利用华为Flexus云服务…

Python实现一个简单的爬虫程序(爬取图片)

目录 1、安装爬虫Scrapy 2、新建爬虫项目 3、配置爬虫 4、编写爬虫代码,爬取百度图片 5、运行爬虫程序 使用爬虫需要遵守相关法律和规范! 1、安装爬虫Scrapy 编程环境是Anaconda,其安装和使用见我之前的文章,这里就不赘述了。 首先安装爬虫Scrapy,为了加快下载速度…

边缘计算网关:连接中心计算与边缘设备的重要桥梁-天拓四方

一、边缘计算网关&#xff1a;重新定义信息高速公路的“路标” 边缘计算网关&#xff0c;作为边缘计算生态系统中的核心组件&#xff0c;不仅承载着数据传输的功能&#xff0c;更是智能信息处理的关键节点。它通过分布式计算架构&#xff0c;将数据处理任务前置到网络边缘&…

[Linux#49][UDP] 2w字详解 | socketaddr | 常用API | 实操:实现简易Udp传输

目录 套接字地址结构&#xff08;sockaddr&#xff09; 1.Socket API 2.sockaddr结构 3. sockaddr、sockaddr_in 和 sockaddr_un 的关系 sockaddr 结构体 sockaddr_in 结构体&#xff08;IPv4 套接字地址&#xff09; sockaddr_un 结构体&#xff08;Unix域套接字地址&a…

oracle表的类型

表是数据库最基本的逻辑结构&#xff0c;一切数据都存放在表中&#xff0c;其它数据库对象(索引、视图、同义词等)都是为了更方便的操作表中的数据。Oracle数据库是由若干个表组成&#xff0c;每个表由列和行组成。 数据库表的类型按照存储结构划分&#xff1a; (1)普通表&…

镀金引线---

一、沉金和镀金 沉金和镀金都是常见的PCB金手指处理方式&#xff0c;它们各有优劣势&#xff0c;选择哪种方式取决于具体的应用需求和预算。 沉金&#xff08;ENIG&#xff09;是一种常用的金手指处理方式&#xff0c;它通过在金手指表面沉积一层金层来提高接触性能和耐腐蚀性…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第二集:通过InControl插件实现绑定玩家输入以及制作小骑士移动空闲动画

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、通过InControl插件实现绑定玩家输入二、制作小骑士移动和空闲动画 1.制作动画2.玩家移动和翻转图像3.状态机思想实现动画切换总结 前言 好久没来CSDN看看&…

Gitlab 中几种不同的认证机制(Access Tokens,SSH Keys,Deploy Tokens,Deploy Keys)

前言 公司主要使用 Go 语言做项目&#xff0c;有一些 Gitlab 私有仓库需要引用&#xff0c;在做 CI 时&#xff0c;要自行配置权限以获取代码。 最近发现各个项目组在做 CI 遇到仓库权限问题时的解决方式不尽相同&#xff0c;有用 Project Token 的&#xff0c;有用 Deploy K…

css总结(记录一下...)

文字 语法说明word-wrapword-wrap:normal| break-word normal:使用浏览器默认的换行 break-word:允许在单词内换行 text-overflow clip:修剪文本 ellipsis:显示省略符号来代表被修剪的文本 text-shadow可向文本应用的阴影。能够规定水平阴影、垂直阴影、模糊距离&#xff0c;以…

CCS811二氧化碳传感器详解(STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 3.工作原理介绍 三、程序设计 main.c文件 ccs811.h文件 ccs811.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 CCS811模块是一种气体传感器&#xff0c;可以测量环境中TVOC(总挥发性有机物质)浓度和eCO2…

Jetbrains开发工具使用通义灵码

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、安装二、使用步骤1.模型选择2.存在的问题 总结 前言 之前用过tabnine等AI工具&#xff0c;tabnine还行&#xff0c;有免费版&#xff0c;但是效果有限&…