Centos部署openGauss6.0创新版本,丝滑的体验

作者:IT邦德
中国DBA联盟(ACDU)成员,10余年DBA工作经验,
Oracle、PostgreSQL ACE
CSDN博客专家及B站知名UP主,全网粉丝10万+
擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复,
安装迁移,性能优化、故障应急处理

文章目录

    • 前言
    • 📣 1.版本说明
    • 📣 2.新特性介绍
    • 📣 3.安装包下载
    • 📣 4.部署前准备
      • ✨ 4.1 关闭安全服务
      • ✨ 4.2 防火墙关闭
      • ✨ 4.3 host配置
      • ✨ 4.4 安装依赖包
      • ✨ 4.5 安装python3
    • 📣 5.单机安装
      • ✨ 5.1 前提条件
      • ✨ 5.2 安装包解压
      • ✨ 5.3 XML配置文件
      • ✨ 5.4 用户及组创建
      • ✨ 5.5 初始化安装
      • ✨ 5.6 正式安装
    • 📣 6.安装验证
      • ✨ 6.1 DB状态检查
      • ✨ 6.2 数据库登陆
      • ✨ 6.3 DB启动及关闭
    • 📣 7.总结及故障处理

文章目录

    • 前言
    • 📣 1.版本说明
    • 📣 2.新特性介绍
    • 📣 3.安装包下载
    • 📣 4.部署前准备
      • ✨ 4.1 关闭安全服务
      • ✨ 4.2 防火墙关闭
      • ✨ 4.3 host配置
      • ✨ 4.4 安装依赖包
      • ✨ 4.5 安装python3
    • 📣 5.单机安装
      • ✨ 5.1 前提条件
      • ✨ 5.2 安装包解压
      • ✨ 5.3 XML配置文件
      • ✨ 5.4 用户及组创建
      • ✨ 5.5 初始化安装
      • ✨ 5.6 正式安装
    • 📣 6.安装验证
      • ✨ 6.1 DB状态检查
      • ✨ 6.2 数据库登陆
      • ✨ 6.3 DB启动及关闭
    • 📣 7.总结及故障处理

前言

2024年3月30日,openGauss 6.0.0版本正式上线.迫不及待的体验了一把,分享给大家

📣 1.版本说明

openGauss社区版本分为长期支持版本和创新版本:
长期支持版本 (LTS) :规模上线使用,openGauss 6.0.0 LTS及后续LTS版本发布间隔周期为2年,社区提供3年支持,社区OGSP伙伴提供3年以后维护支持服务。
创新版本 (RCx) :作为LTS版本发布前的阶段性特性体验版本,仅供联创测试使用,提供6个月社区支持。

openGauss 6.0.0-RC1 是社区最新发布的创新版本,版本生命周期为 0.5 年。(创新版本命名:由原方案 XX.1.0 Preview (例:5.1.0 preview),调整为现方案 XX.0.0-RCx),本次发布包含 2 个数据库服务端安装版本:企业版、轻量版,用户可根据使用场景需要下载不同版本,并基于此进行场景化验证,提前发现问题并反馈社区,社区将在下个 LTS 版本发布前进行问题修复,openGauss 6.0.0 LTS 版本将在 2024 年 9 月 30 日进行发布。

openGauss社区版本生命周期管理如下

image.png

📣 2.新特性介绍

1.内核能力增强
企业级特性:存储过程增强
内核四高能力:高性能、高可用、高智能、高安全

2.DataPod 三层资源池化架构持续创新
支持 SPQ 多机并行查询框架
新增 DMS 资源统计视图
DSS 功能增强
容灾能力增强

3.DataKit 数据全生命周期管理平台能力增强
迁移能力、对象管理、智能运维、安装部署

4.生态兼容性增强
MySQL 兼容

📣 3.安装包下载

更多具体发行说明请参考官网:
https://docs-opengauss.osinfra.cn/zh/docs/latest/docs/ReleaseNotes/Releasenotes.html
6.0.0 RC1版本下载地址
https://opengauss.org/zh/download/
openGauss-6.0.0-RC1-CentOS-64bit-all.tar.gz

image.png

📣 4.部署前准备

✨ 4.1 关闭安全服务

修改/etc/selinux/config文件中的“SELINUX”值为“disabled”。

✨ 4.2 防火墙关闭

systemctl status firewalld
若防火墙状态显示为active (running),则表示防火墙未关闭,请关闭防火墙。
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

临时关闭selinux
setenforce 0
查看selinux状态
getenforce

✨ 4.3 host配置

[root@centos79 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.6.20 centos79

✨ 4.4 安装依赖包

##创建挂载目录
mkdir /cdrom##挂载目录
mount -t iso9660 -o ro /dev/cdrom /cdrom##yum源配置文件
cd /etc/yum.repos.d/
mkdir bak
mv CentOS* bak##配置yum文件
vi local.repocat>/etc/yum.repos.d/local.repo<<EOF
[base-local]
name=CentOS7-local
baseurl=file:///cdrom
enabled=1
gpgcheck=0
EOF#清空并重载yum
yum clean all
yum makecache##安装依赖
yum -y install libaio-devel flex bison ncurses-devel \
glibc-devel patch redhat-lsb-core readline-devel openssl-devel sqlite-devel libnsl

✨ 4.5 安装python3

Python3安装还依赖zlib,如果没有先安装依赖,这里我们安装python3.6的版本
[root@centos79 ~]# yum install -y zlib
[root@centos79 ~]# rpm -qa | grep zlib
zlib-devel-1.2.7-18.el7.x86_64
zlib-1.2.7-18.el7.x86_64python官网 https://www.python.org/downloads/release/python-3615/下载安装包即可
安装包为:Python-3.6.15.tgz[root@centos79 ~]# tar -zxvf Python-3.6.15.tgz
[root@centos79 ~]# cd Python-3.6.15/
[root@centos79 ~]# ./configure --prefix=/usr/local/python3 --enable-shared
[root@centos79 ~]# make
[root@centos79 ~]# make install
注意:make编译时间比较长,耐心等待configure: error: no acceptable C compiler found in $PATH
yum install gcc注意此时还需要设置下OS上python的软连接
[root@centos79 ~]# ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
[root@centos79 ~]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip[root@centos79 Python-3.6.15]# python -V
python: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
[root@centos79 Python-3.6.15]# find / -name libpython3.6m.so.1.0
/usr/local/python3/lib/libpython3.6m.so.1.0
/opt/Python-3.6.15/libpython3.6m.so.1.0cp /opt/Python-3.6.15/libpython3.6m.so.1.0 /usr/lib64/[root@centos79 Python-3.6.15]# python
Python 3.6.15 (default, Apr  5 2024, 09:38:03) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

📣 5.单机安装

✨ 5.1 前提条件

前提条件:
已完成用户组和普通用户的创建。
所有服务器操作系统和网络均正常运行。
普通用户必须有数据库包解压路径、安装路径的读、写和执行操作权限,并且安装路径必须为空。
普通用户对下载的openGauss压缩包有执行权限。
安装前请检查指定的openGauss端口矩阵中所有端口是否被占用,如果被占用请更改端口或者停止当前使用端口进程。

✨ 5.2 安装包解压

注意:上传安装包到服务器/opt/openGauss
mkdir -p /opt/openGauss--openGauss安装目录
mkdir -p /openGauss ##解压安装包
chmod 755 -R /opt/openGauss
cd /opt/openGauss
[root@centos79 openGauss]# tar -zxvf openGauss-6.0.0-RC1-CentOS-64bit-all.tar.gz
[root@centos79 openGauss]# ll
openGauss-6.0.0-RC1-CentOS-64bit-cm.tar.gz
openGauss-6.0.0-RC1-CentOS-64bit-om.tar.gz
openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2
openGauss-6.0.0-RC1-CentOS-64bit-cm.sha256
openGauss-6.0.0-RC1-CentOS-64bit-om.sha256
openGauss-6.0.0-RC1-CentOS-64bit.sha256
upgrade_sql.tar.gz
upgrade_sql.sha256[root@centos79 openGauss]# tar -zxvf openGauss-6.0.0-RC1-CentOS-64bit-om.tar.gz
[root@centos79 openGauss]# ll
total 293256
drwxr-xr-x. 19 root root      4096 Mar 31 12:15 lib
-rwxr-xr-x.  1 root root 149449208 Apr  5 09:31 openGauss-6.0.0-RC1-CentOS-64bit-all.tar.gz
-rw-r--r--.  1 root root       109 Mar 31 12:16 openGauss-6.0.0-RC1-CentOS-64bit-cm.sha256
-rw-r--r--.  1 root root  22466710 Mar 31 12:16 openGauss-6.0.0-RC1-CentOS-64bit-cm.tar.gz
-rw-r--r--.  1 root root        65 Mar 31 12:15 openGauss-6.0.0-RC1-CentOS-64bit-om.sha256
-rw-r--r--.  1 root root  23122340 Mar 31 12:15 openGauss-6.0.0-RC1-CentOS-64bit-om.tar.gz
-rw-r--r--.  1 root root        65 Mar 31 12:16 openGauss-6.0.0-RC1-CentOS-64bit.sha256
-rw-r--r--.  1 root root 104672194 Mar 31 12:16 openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2
drwxr-xr-x. 11 root root      4096 Mar 31 12:15 script
-rw-------.  1 root root        65 Mar 31 12:14 upgrade_sql.sha256
-rw-------.  1 root root    541779 Mar 31 12:14 upgrade_sql.tar.gz
-rw-r--r--.  1 root root        36 Mar 31 12:15 version.cfg

✨ 5.3 XML配置文件

安装openGauss前需要创建cluster_config.xml文件。
cluster_config.xml文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。本次部署以单节点配置的方式创建XML配置文件编辑配置XML文件:
vi /opt/openGauss/db_config.xml<?xml version="1.0" encoding="UTF-8"?>
<ROOT><!-- openGauss整体信息 --><CLUSTER><!-- 数据库名称 --><PARAM name="clusterName" value="dbCluster" /><!-- 数据库节点名称(hostname) --><PARAM name="nodeNames" value="centos79" /><!-- 数据库安装目录--><PARAM name="gaussdbAppPath" value="/openGauss/app" /><!-- 日志目录--><PARAM name="gaussdbLogPath" value="/openGauss/log/omm" /><!-- 临时文件目录--><PARAM name="tmpMppdbPath" value="/openGauss/tmp" /><!-- 数据库工具目录--><PARAM name="gaussdbToolPath" value="/openGauss/om" /><!-- 数据库core文件目录--><PARAM name="corePath" value="/openGauss/corefile" /><!-- 节点IP,与数据库节点名称列表一一对应 --><PARAM name="backIp1s" value="192.168.6.20"/></CLUSTER><!-- 每台服务器上的节点部署信息 --><DEVICELIST><!-- 节点1上的部署信息 --><DEVICE sn="centos79"><!-- 节点1的主机名称 --><PARAM name="name" value="centos79"/><!-- 节点1所在的AZ及AZ优先级 --><PARAM name="azName" value="AZ1"/><PARAM name="azPriority" value="1"/><!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --><PARAM name="backIp1" value="192.168.6.20"/><PARAM name="sshIp1" value="192.168.6.20"/><!--dbnode--><PARAM name="dataNum" value="1"/><PARAM name="dataPortBase" value="15400"/><PARAM name="dataNode1" value="/openGauss/data/dn"/><PARAM name="dataNode1_syncNum" value="0"/></DEVICE></DEVICELIST>
</ROOT>

✨ 5.4 用户及组创建

##创建用户组dbgrp
[root@centos79 ~]# groupadd dbgroup
##创建用户组dbgroup下的普通用户omm,并设置密码为Gauss_123
useradd -g dbgroup omm

✨ 5.5 初始化安装

chmod 775 /openGauss -R
chown omm:dbgroup /openGauss -R[root@centos79 ~]# cd /opt/openGauss/script
[root@centos79 ~]# export LD_LIBRARY_PATH=/opt/openGauss/script/gspylib/clib:$LD_LIBRARY_PATH
[root@centos79 script]# ./gs_preinstall -U omm -G dbgroup -X /opt/openGauss/db_config.xml安装集群过程中,输入omm用户密码:Gauss_123
[root@centos79 script]# /opt/openGauss/script/gs_checkos -i A -h centos79 --detail
Checking items:A1. [ OS version status ]                                   : Normal     [centos79]centos_7.9.2009_64bitA2. [ Kernel version status ]                               : Normal     The names about all kernel versions are same. The value is "3.10.0-1160.el7.x86_64".A3. [ Unicode status ]                                      : Normal     The values of all unicode are same. The value is "LANG=en_US.UTF-8".A4. [ Time zone status ]                                    : Normal     The informations about all timezones are same. The value is "+0800".A5. [ Swap memory status ]                                  : Warning    [centos79]
SwapMemory 5238681600 TotalMemory 3953942528A6. [ System control parameters status ]                    : Warning    [centos79]Warning reason: variable 'net.ipv4.tcp_retries1' RealValue '3' ExpectedValue '5'.Warning reason: variable 'net.ipv4.tcp_syn_retries' RealValue '6' ExpectedValue '5'.Check_SysCtl_Parameter warning.A7. [ File system configuration status ]                    : Warning    [centos79]Warning reason: variable 'open files' RealValue '1024' ExpectedValue '1000000'Warning reason: variable 'max user processes' RealValue '14950' ExpectedValue 'unlimited'A8. [ Disk configuration status ]                           : Normal     The value about XFS mount parameters is correct.   A9. [ Pre-read block size status ]                          : Normal     The value about Pre-read block size is correct.    A10.[ IO scheduler status ]                                 : Normal     The value of IO scheduler is correct.              A11.[ Network card configuration status ]                   : Warning    [centos79]
BondMode NullWarning reason: network 'ens33' 'mtu' RealValue '1500' ExpectedValue '8192'A12.[ Time consistency status ]                             : Warning    [centos79]The NTPD not detected on machine and local time is "2024-04-05 09:57:04".A13.[ Firewall service status ]                             : Normal     The firewall service is stopped.                   A14.[ THP service status ]                                  : Normal     The THP service is stopped.                        
Total numbers:14. Abnormal numbers:0. Warning numbers:5.

image.png

✨ 5.6 正式安装

#切换到omm用户
[root@centos79 ~]# su - omm
[omm@centos79 ~]$ gs_install -X /opt/openGauss/db_config.xml
此处指定数据库密码:Gauss_123

📣 6.安装验证

✨ 6.1 DB状态检查

# 通过openGauss提供的gs_om工具可以完成数据库状态检查以omm用户身份登录服务器。
执行如下命令检查数据库状态是否正常,"cluster_state"显示"Normal"表示数据库可正常使用[root@centos79 ~]# su - omm
[omm@centos79 ~]$ gs_om -t status
-----------------------------------------------------------------------cluster_name    : dbCluster
cluster_state   : Normal
redistributing  : No-----------------------------------------------------------------------[omm@centos79 ~]$ gs_om -t status --detail
[   Cluster State   ]cluster_state   : Normal
redistributing  : No
current_az      : AZ_ALL[  Datanode State   ]node    node_ip         port      instance                   state
--------------------------------------------------------------------------------------
1  centos79 192.168.6.20    15400      6001 /openGauss/data/dn   P Primary Normal

✨ 6.2 数据库登陆

[omm@centos79 ~]$ gsql -d postgres -p 15400
gsql ((openGauss 6.0.0-RC1 build ed7f8e37) compiled at 2024-06-15 11:59:31 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.openGauss=# \lList of databasesName    | Owner | Encoding  | Collate | Ctype | Access privileges 
-----------+-------+-----------+---------+-------+-------------------postgres  | omm   | SQL_ASCII | C       | C     | template0 | omm   | SQL_ASCII | C       | C     | =c/omm           +|       |           |         |       | omm=CTc/ommtemplate1 | omm   | SQL_ASCII | C       | C     | =c/omm           +|       |           |         |       | omm=CTc/omm
(3 rows)[omm@centos79 ~]$ gsql -V
gsql (openGauss 6.0.0-RC1 build ed7f8e37) compiled at 2024-06-15 11:59:31 commit 0 last mr 

✨ 6.3 DB启动及关闭

[omm@centos79 ~]$ gs_om -t stop
[omm@centos79 ~]$ gs_om -t start

📣 7.总结及故障处理

1.python3安装后报错
[root@centos79 ~]# python3 -V
python3: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
出现以上报错处理方法,libpython3.6m.so.1.0复制到/usr/lib64/目录下即可
[root@centos79 ~]# find / -name libpython3.6m.so.1.0
/usr/local/python3/lib/libpython3.6m.so.1.0
/opt/Python-3.6.15/libpython3.6m.so.1.0
[root@centos79 ~]# cp /usr/local/python3/lib/libpython3.6m.so.1.0 /usr/lib64
2./usr/bin/env: python3: No such file or directory
注意此时还需要设置下OS上python的软连接
[root@centos79 ~]# ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
[root@centos79 ~]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

同三维T80004EHL-W-4K30 4K HDMI编码器,支持WEBRTC协议

输入&#xff1a;1路HDMI1路3.5音频&#xff0c;1路HDMI环出1路3.5音频解嵌输出 4K30超高清,支持U盘/移动硬盘/TF卡录制&#xff0c;支持WEBRTC协议&#xff0c;超低延时&#xff0c;支持3个点外网访问 1个主流1个副流输出&#xff0c;可定制选配POE供电模块&#xff0c;WEBR…

理解CA-IS3050G高速CAN收发器的CANH和CANL的电压

CA-IS3050G高速CAN收发器符合ISO 11898-2物理层标准。 1、CANH和CANL的电压之和为5V&#xff0c;下图是CA-IS3050G的高速CAN收发器参数&#xff0c;分析如下&#xff1a; 1&#xff09;、总线输出显性电压 2.75V < VCANH <4.5V&#xff0c;负载为60Ω&#xff0c;CANH…

Proxy和definedProperty

1. Proxy 代理 定义: 用于定义基本操作的自定义行为 Proxy修改的是程序默认形为&#xff0c;就形同于在编程语言层面上做修改&#xff0c;属于元编程 元编程 是指某类计算机程序的编写&#xff0c;这类计算机程序编写或者操纵其它程序&#xff08;或者自身&#xff09;作为它…

leetcode 1355 活动参与者(postgresql)

需求 表: Friends ---------------------- | Column Name | Type | ---------------------- | id | int | | name | varchar | | activity | varchar | ---------------------- id 是朋友的 id 和该表的主键 name 是朋友的名字 activity 是朋友参加的活动的名字 表: Activit…

QT实现多摄像头监控

工具使用方法&#xff1a; 1、在add camera后面输入对应摄像头的IP后&#xff0c;点击add会自动布局显示。 2、在del camera后选择一个对应IP后&#xff0c;点击del会自动删除对应摄像头的显示&#xff0c;且整体布局会自动调整。 工具使用场景&#xff1a; 测试摄像头的好坏。…

探索CSS clip-path: polygon():塑造元素的无限可能

在CSS的世界里&#xff0c;clip-path 属性赋予了开发者前所未有的能力&#xff0c;让他们能够以非传统的方式裁剪页面元素&#xff0c;创造出独特的视觉效果。其中&#xff0c;polygon() 函数尤其强大&#xff0c;它允许你使用多边形来定义裁剪区域的形状&#xff0c;从而实现各…

Redis常见数据类型及其常用命令详解

文章目录 一、Redis概述二、Redis常用命令1.通用命令1.1 KEYS&#xff1a;查看符合模板的所有 key1.2 DEL&#xff1a;删除一个指定的 key1.3 EXISTS&#xff1a;判断 key 是否存在1.4 EXPIRE&#xff1a;给一个 key 设置有效期&#xff0c;有效期到期时该 key 会被自动删除1.5…

【读博日记】拓扑结构(待修正)

Topology 拓扑学 内容来源于互联网&#xff0c;还在甄别中——20240617 拓扑结构指把实体抽象成与其形状大小无关的点&#xff0c;把连接实体的线路抽象成线&#xff0c;再研究这些电线之间的关系。 所谓相似的拓扑结构&#xff1a; 例如一个圆环变成正方形、长方形、三角形…

.Net OpenCVSharp生成灰度图和二值图

文章目录 前言一、灰度图二、二值图 前言 使用OpenCVSharp生成图片的灰度图和二值图 .Net 8.0版本&#xff0c;依赖OpenCvSharp4和OpenCvSharp4.runtime.win组件。 原图&#xff1a; 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、灰度图 /// &…

efficientsam-pytorch基于point、box和segment everthing推理模型

EfficientSAM 论文 EfficientSAM: Leveraged Masked Image Pretraining for Efficient Segment Anything https://arxiv.org/abs/2312.00863 模型结构 EfficientSAM模型利用掩码图像预训练&#xff08;SAMI&#xff09;&#xff0c;该预训练学习从SAM图像编码器重构特征&a…

项目(一)--高并发内存池项目简介

什么是高并发内存池 它是一个全球性大厂google(谷歌)的 开源项目,项目名字叫tcmalloc,全称是Thread-Caching Malloc,即线程缓存的malloc 作用&#xff1a; 我们知道C语言在堆上开辟空间和 释放使用的是malloc和free函数 并且C的动态内存管理new和delete 的底层实际上也调用了…

【Linux】模拟实现一个简单的日志系统

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

SFNC —— 标准特征命名约定(一)

系列文章目录 SFNC —— 标准特征命名约定&#xff08;一&#xff09; 文章目录 系列文章目录1、介绍1.1 约定&#xff08;Conventions&#xff09;功能名称和接口&#xff08;Feature Name and Interface&#xff09;功能类别&#xff08;Feature Category&#xff09;功能级别…

(微服务实战)预付卡平台支付交易系统消费业务流程设计

1 交易系统技术架构 预付卡支付交易系统采用Dubbo3作为底层框架&#xff0c;支付交易系统分为账户系统、清结算系统、支付网关、核心支付系统等模块。系统整体采用微服务架构&#xff0c;容器化部署。 2 消费业务流程设计 预付卡系统消费场景分为线上和线下&#xff0c;线…

市场情绪周期2024-6-17(补涨回头潮视角验证)

竞价隔夜单 看长江通信&#xff0c;38亿涨到40亿又回落&#xff0c;那么周末最大的利好消息加持下&#xff0c;隔夜单不及预期&#xff0c;金溢科技 更是如此&#xff1b;空间板华闻集团8天7板&#xff0c;连扳5板&#xff0c;一字跌停&#xff0c;它也是有车联网的&#xff0c…

【UIDynamic-动力学-UICollisionBehavior-碰撞模式-创建边界 Objective-C语言】

一、我们来说这个碰撞模式 1.把之前的代码备份一下,改个名字:“04-碰撞行为-碰撞模式”, 然后,command + R,先跑一下, 我现在,一点击,是这个红色的View、和蓝色的View、在发生碰撞, 我们说,碰撞模式是啥意思, collision里边,有一个叫做collisionMode, UICollis…

c++里对 new 、delete 运算符的重载

&#xff08;1&#xff09;c 里 我们可以用默认的 new 和 delete 来分配对象和回收对象。 new 可以先申请内存&#xff0c;再调用对象的构造函数&#xff1b; delete 则先调用对象的析构函数&#xff0c;再回收内存。当然&#xff0c;当我们为类定义了 operator new () 和 oper…

双层循环和循环控制语句的使用,while和until的语法使用

双层循环和循环控制语句的使用&#xff0c;while和until的语法使用 exit echo 打印 -n 表示不换行输出 -e 输出转译字符 \b&#xff1a;相当于退格键&#xff08;backspace&#xff09; \n&#xff1a;换行&#xff0c;相当于回车 \f&#xff1a;换行&#xff0c;换行后的…

Git仓库中文件的状态

0 Preface/Foreword 1 文件状态 文件包含以下4个状态&#xff1a; untracked&#xff0c;未跟踪&#xff0c;表示该文件在文件夹中&#xff0c;但是没有加入到git 仓库中进行版本管控。可以通过git add命令将该文件增加到git 仓库中。从untracked变为staged。unmodified&…