国产达梦(DM)数据库的安装(Linux系统)

news2025/3/26 15:24:41

目录

一、安装前的准备工作

1.1 导包

1.2 创建用户和组

1.3 修改文件打开最大数

1.4 目录规划

1.5 修改目录权限

二、安装DM8

2.1 挂载镜像

2.2 命令行安装

2.3 配置环境变量

2.4 启动图形化界面

三、配置实例

四、注册服务

五、启动 停止 查看状态

六、数据库客户端连接


      在数字化转型浪潮中,国产数据库正逐步突破技术壁垒,达梦数据库(DAMENG)作为拥有完全自主知识产权的高性能数据库管理系统,已成为政府、金融、能源等关键领域的首选方案。它不仅通过CC EAL4+和ISO 27001安全认证,更支持分布式架构与跨平台部署,本文将通过实战安装与场景解析,为您全面解析这款国产数据库的价值。

所用系统:CentOS 7系统

达梦数据库(DAMENG)是一款国产高性能数据库管理系统,具有自主知识产权,广泛应用于政府、金融、能源等关键领域。

详细了解DM请参考官方地址:达梦官网

一、安装前的准备工作

1.1 导包

达梦包在官网下载适合的版本,CentOS系统下载dm8_20250122_x86_rh7_64.zip即可。

将安装包放在/opt/下

1.2 创建用户和组

安装达梦数据库:安装前必须创建dmdba用户,禁止使用 root 用户安装数据库。

创建用户所在的组

[root@Node1 opt]#:groupadd dinstall -g 2001

创建用户

[root@Node1 opt]#:useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba

-G指定组

-m创建家目录

-d指定家目录

-s指定登录类型

-u指定uid

给用户设置密码,我这里设置的123456

[root@Node1 opt]#:passwd dmdba
更改用户 dmdba 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

1.3 修改文件打开最大数

修改前

[root@Node1 opt]#:ulimit -a 
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15594
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 15594
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

永久修改

[root@Node1 opt]#:vim /etc/security/limits.conf

......

dmdba  soft      nice       0
dmdba  hard      nice       0
dmdba  soft      as         unlimited
dmdba  hard      as         unlimited
dmdba  soft      fsize      unlimited
dmdba  hard      fsize      unlimited
dmdba  soft      nproc      65536
dmdba  hard      nproc      65536
dmdba  soft      nofile     65536
dmdba  hard      nofile     65536
dmdba  soft      core       unlimited
dmdba  hard      core       unlimited
dmdba  soft      data       unlimited
dmdba  hard      data       unlimited
:wq                                  #保存退出

保存退出后,重启系统reboot

[root@Node1 opt]#:reboot

 关闭永久防火墙,关闭核心防护

[root@Node1 ~]#:systemctl stop firewalld
[root@Node1 ~]#:systemctl disable --now firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@Node1 ~]#:
[root@Node1 ~]#:setenforce 0

切换到dmdba用户,查看是否生效

[root@Node1 ~]#:su - dmdba 
[dmdba@Node1 ~]$ ulimit -a 
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 15594
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65536
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

1.4 目录规划

使用root用户建立文件夹,dmdba用户建立完成后需将文件所有者更改为dmdba用户,否则无法安装到该目录下。也可根据实际需求规划目录。

#创建实例保存目录
[root@Node1 ~]#:mkdir -p /dmdata/data
#归档保存目录
[root@Node1 ~]#:mkdir -p /dmdata/arch
#备份保存目录
[root@Node1 ~]#:mkdir -p /dmdata/dmbak

1.5 修改目录权限

将新建的路径目录权限的用户修改为dmdba,用户组修改为dinstall

[root@Node1 ~]#:chown -R dmdba:dinstall /dmdata/data
[root@Node1 ~]#:chown -R dmdba:dinstall /dmdata/arch
[root@Node1 ~]#:chown -R dmdba:dinstall /dmdata/dmbak

给路径下的文件设置755权限

[root@Node1 ~]#:chmod -R 755 /dmdata/data
[root@Node1 ~]#:chmod -R 755 /dmdata/arch
[root@Node1 ~]#:chmod -R 755 /dmdata/dmbak

查看

二、安装DM8

2.1 挂载镜像

进入/opt/下,解压安装包。

[root@Node1 ~]#:cd /opt/
[root@Node1 opt]#:ls
dm8_20250122_x86_rh7_64.zip  rh
[root@Node1 opt]#:
[root@Node1 opt]#:unzip dm8_20250122_x86_rh7_64.zip 
Archive:  dm8_20250122_x86_rh7_64.zip
  inflating: dm8_20250122_x86_rh7_64.iso_SHA256.txt  
  inflating: dm8_20250122_x86_rh7_64.README  
  inflating: dm8_20250122_x86_rh7_64.iso  
[root@Node1 opt]#:

挂载到/mnt/下

[root@Node1 opt]#:mount -o loop dm8_20250122_x86_rh7_64.iso /mnt

2.2 命令行安装

切换到dmdba用户。

进入/mnt/目录下。执行安装。

[root@Node1 opt]#:su - dmdba 
上一次登录:日 3月 23 22:44:24 CST 2025pts/0 上
[dmdba@Node1 ~]$ cd /mnt
[dmdba@Node1 mnt]$ ll
总用量 974521
-r-xr-xr-x. 1 root root   3011770 1月  22 15:57 DM8 Install.pdf
-r-xr-xr-x. 1 root root 994897045 1月  22 17:00 DMInstall.bin
[dmdba@Node1 mnt]$ ./DMInstall.bin -i
安装语言: 
[1]: 简体中文
[2]: English
请选择安装语言 [1]:1                                #选择简体中文
解压安装程序......... 
硬件架构校验通过!
欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n        #没有key文件,选择n否

是否设置时区? (Y/y:是 N/n:否) [Y/y]:y                #设置时区
设置时区:
[ 1]: (GTM-12:00) 日界线西
[ 2]: (GTM-11:00) 萨摩亚群岛
[ 3]: (GTM-10:00) 夏威夷
[ 4]: (GTM-09:00) 阿拉斯加
[ 5]: (GTM-08:00) 太平洋时间(美国和加拿大)
[ 6]: (GTM-07:00) 亚利桑那
[ 7]: (GTM-06:00) 中部时间(美国和加拿大)
[ 8]: (GTM-05:00) 东部部时间(美国和加拿大)
[ 9]: (GTM-04:00) 大西洋时间(美国和加拿大)
[10]: (GTM-03:00) 巴西利亚
[11]: (GTM-02:00) 中大西洋
[12]: (GTM-01:00) 亚速尔群岛
[13]: (GTM) 格林威治标准时间
[14]: (GTM+01:00) 萨拉热窝
[15]: (GTM+02:00) 开罗
[16]: (GTM+03:00) 莫斯科
[17]: (GTM+04:00) 阿布扎比
[18]: (GTM+05:00) 伊斯兰堡
[19]: (GTM+06:00) 达卡
[20]: (GTM+07:00) 曼谷,河内
[21]: (GTM+08:00) 中国标准时间
[22]: (GTM+09:00) 首尔
[23]: (GTM+10:00) 关岛
[24]: (GTM+11:00) 所罗门群岛
[25]: (GTM+12:00) 斐济
[26]: (GTM+13:00) 努库阿勒法
[27]: (GTM+14:00) 基里巴斯
请选择时区 [21]:21                                            #选择中国标准时间

安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1                        #1典型安装
所需空间: 1912M

请选择安装目录 [/home/dmdba/dmdbms]:                            #默认,直接回车
可用空间: 41G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y    #确认安装路径

安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1912M
可用空间: 41G
版本信息: 
有效日期: 
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y                            #最后确认安装
2025-03-23 14:56:21 
[INFO] 安装达梦数据库...
2025-03-23 14:56:22 
[INFO] 安装 基础 模块...
2025-03-23 14:56:27 
[INFO] 安装 服务器 模块...
2025-03-23 14:56:27 
[INFO] 安装 客户端 模块...
2025-03-23 14:56:30 
[INFO] 安装 驱动 模块...
2025-03-23 14:56:31 
[INFO] 安装 手册 模块...
2025-03-23 14:56:31 
[INFO] 安装 服务 模块...
2025-03-23 14:56:32 
[INFO] 移动日志文件。
2025-03-23 14:56:32 
[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh

安装结束

[dmdba@Node1 mnt]$ 
#exit退出普通用户,根据以上提示信息,在root用户下执行提示的命令

安装完成,切换为root用户,执行提示的命令。创建DmAPService,否则会影响数据库备份。

[root@Node1 opt]#:/home/dmdba/dmdbms/script/root/root_installer.sh 
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
[root@Node1 opt]#:

数据库安装完成后还需要注册实例才能使用数据库

2.3 配置环境变量

需要root用户,进入到dmdba用户的家目录下(/home/dmdba/),配置对应的环境变量。

前两行自动写入了,只需要加入最后一行即可。如果你的没写入,就手动写入即可。根据自己的实际路径写入。

[root@Node1 opt]#:cd /home/dmdba/
[root@Node1 dmdba]#:vim .bash_profile
......
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin"
export DM_HOME="/home/dmdba/dmdbms"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

切换到dmdba用户,使变量生效。

[root@Node1 dmdba]#:su - dmdba 
上一次登录:日 3月 23 14:54:11 CST 2025pts/0 上
[dmdba@Node1 ~]$ source .bash_profile
[dmdba@Node1 ~]$ 

2.4 启动图形化界面

达梦数据库,可启动图形化界面,而无需下载客户端(当然也可以下载客户端),这里在系统里面操作命令。

[root@Node1 ~]#:cd /mnt
[root@Node1 mnt]#:xhost +
access control disabled, clients can connect from any host
[root@Node1 mnt]#:echo $DISPLAY
:0
[root@Node1 mnt]#:
#切换到普通用户dmdba。
[root@Node1 mnt]#:su - dmdba 
上一次登录:日 3月 23 15:05:02 CST 2025pts/0 上
[dmdba@Node1 ~]$ export DISPLAY=:0.0
#进入数据库安装路径/home/dmdba/dmdbms/tool/目录下,启动DM管理工具。
[dmdba@Node1 ~]$ cd /home/dmdba/dmdbms/tool/
[dmdba@Node1 tool]$ ls
analyzer       console      disql         dropins  dts_cmd_run.sh  manager.bmp  nca.sh   resources
analyzer.bmp   console.bmp  dmagent       dts      log4j.xml       monitor      p2       templates
configuration  dbca.sh      dmservice.sh  dts.bmp  manager         monitor.bmp  plugins  version.sh
[dmdba@Node1 tool]$ 
#执行manager,启动图形化管理工具。
[dmdba@Node1 tool]$ ./manager

启动后就会出现图形化管理工具

如图:

三、配置实例

使用dmdba用户配置实例,进入到/home/dmdba/dmdbms/bin目录下。

使用dminit命令初始化实例,dminit命令可设置多种参数,可执行命令./dminit help查看可配置参数。

[root@Node1 dmdba]#:su - dmdba 
上一次登录:日 3月 23 15:09:50 CST 2025pts/2 上
[dmdba@Node1 ~]$ 
[dmdba@Node1 ~]$ cd /home/dmdba/dmdbms/bin
[dmdba@Node1 bin]$ ./dminit help
initdb V8
db version: 0x7000d
file dm.key not found, use default license!
License will expire on 2026-01-17
version: 03134284336-20250117-257733-20132
格式: ./dminit     KEYWORD=value

例程: ./dminit     PATH=/public/dmdb/dmData PAGE_SIZE=16 SYSDBA_PWD=... SYSAUDITOR_PWD=... [SYSSSO_PWD=...]

关键字                     说明(默认值)
--------------------------------------------------------------------------------
INI_FILE                   初始化文件dm.ini存放的路径
PATH                       初始数据库存放的路径
CTL_PATH                   控制文件路径
LOG_PATH                   日志文件路径
EXTENT_SIZE                数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页
PAGE_SIZE                  数据页大小(8),可选值:4, 8, 16, 32,单位:K
LOG_SIZE                   日志文件大小(4096),单位为:M,范围为:256M ~ 8G
CASE_SENSITIVE             大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG       字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
SEC_PRIV_MODE              权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL],3[BAIST],4[ZBMM]
SYSDBA_PWD                 设置SYSDBA密码
SYSAUDITOR_PWD             设置SYSAUDITOR密码
DB_NAME                    数据库名(DAMENG)
INSTANCE_NAME              实例名(DMSERVER)
PORT_NUM                   监听端口号(5236)
BUFFER                     系统缓存大小(8000),单位M
TIME_ZONE                  设置时区(+08:00)
PAGE_CHECK                 页检查模式(3),可选值:0/1/2/3
PAGE_HASH_NAME             设置页检查HASH算法
EXTERNAL_CIPHER_NAME       设置默认加密算法
EXTERNAL_HASH_NAME         设置默认HASH算法
EXTERNAL_CRYPTO_NAME       设置根密钥加密引擎
RLOG_ENCRYPT_NAME          设置日志文件加密算法,若未设置,则不加密
RLOG_POSTFIX_NAME          设置日志文件后缀名,长度不超过10。默认为log,例如DAMENG01.log
USBKEY_PIN                 设置USBKEY PIN
PAGE_ENC_SLICE_SIZE        设置页加密分片大小,可选值:0、512、4096,单位:Byte
ENCRYPT_NAME               设置全库加密算法
BLANK_PAD_MODE             设置空格填充模式(0),可选值:0/1
SYSTEM_MIRROR_PATH         SYSTEM数据文件镜像路径
MAIN_MIRROR_PATH           MAIN数据文件镜像
ROLL_MIRROR_PATH           回滚文件镜像路径
MAL_FLAG                   初始化时设置dm.ini中的MAL_INI(0)
ARCH_FLAG                  初始化时设置dm.ini中的ARCH_INI(0)
MPP_FLAG                   Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
CONTROL                    初始化配置文件(配置文件格式见系统管理员手册)
AUTO_OVERWRITE             是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
USE_NEW_HASH               是否使用改进的字符类型HASH算法(1)
ELOG_PATH                  指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM                分布式环境下协同工作的监听端口
HUGE_WITH_DELTA            是否仅支持创建事务型HUGE表(1) 1:是 0:否
RLOG_GEN_FOR_HUGE          是否生成HUGE表REDO日志(1) 1:是 0:否
PSEG_MGR_FLAG              是否仅使用管理段记录事务信息(0) 1:是 0:否
CHAR_FIX_STORAGE           CHAR是否按定长存储(N),可选值:Y/N,1/0
SQL_LOG_FORBID             是否禁止打开SQL日志(N),可选值:Y/N,1/0
DPC_MODE                   指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替
USE_DB_NAME                路径是否拼接DB_NAME(1) 1:是 0:否
MAIN_DBF_PATH              MAIN数据文件存放路径
SYSTEM_DBF_PATH            SYSTEM数据文件存放路径
ROLL_DBF_PATH              ROLL数据文件存放路径
TEMP_DBF_PATH              TEMP数据文件存放路径
ENC_TYPE                   数据库内部加解密使用的加密接口类型(1), 可选值: 1: 优先使用EVP类型 0: 不启用EVP类型
RANDOM_CRYPTO              随机数算法所在加密引擎名
DPC_TENANCY                指定DPC集群是否启用多租户模式(0) 0:不启用 1:启用,取值0/1时也可以用FALSE/TRUE代替
HELP                       打印帮助信息
[dmdba@Node1 bin]$ 

这里:强烈建议用户在首次安装数据库初始化实例时,立即修改数据库系统用户的初始密码,并设置一定的密码强度,以保障数据安全性。

也可以自定义初始化实例的参数

这里我的密码设置为Dmdb_20250323

根据自己的习惯设置密码,复杂度要包含:大小写字母、特殊字符、数字

[dmdba@Node1 bin]$ ./dminit path=/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=5236 SYSDBA_PWD=Dmdb_20250323  SYSAUDITOR_PWD=Dmdb_20250323
initdb V8
db version: 0x7000d
file dm.key not found, use default license!
License will expire on 2026-01-17
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

 log file path: /dmdata/data/DMTEST/DMTEST01.log


 log file path: /dmdata/data/DMTEST/DMTEST02.log

write to dir [/dmdata/data/DMTEST].
create dm database success. 2025-03-23 15:16:18
[dmdba@Node1 bin]$ 

如果这里是自定义的初始化参数,那么在注册服务和启动数据库时应按照自定义参数进行操作。

四、注册服务

注册服务脚本为dm_service_installer.sh。注册服务需要使用root用户进行注册。进入到数据库安装目录的/home/dmdba/dmdbms/script/root下。

[dmdba@Node1 bin]$ exit
登出
[root@Node1 dmdba]#:cd /home/dmdba/dmdbms/script/root/
[root@Node1 root]#:ls
dm_service_installer.sh  dm_service_uninstaller.sh  root_installer.sh
[root@Node1 root]#:./dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/DMTEST/dm.ini -p DMTEST
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMTEST.service to /usr/lib/systemd/system/DmServiceDMTEST.service.
创建服务(DmServiceDMTEST)完成
[root@Node1 root]#:

进入达梦数据库安装目录下的bin目录中,可以看到已经注册好的服务DmServiceDMTEST。

[root@Node1 root]#:cd /home/dmdba/dmdbms/bin
[root@Node1 bin]#:ll Dm*
-rwxr-xr-x. 1 dmdba dmdba 15447 3月  23 14:56 DmAPService
-rwxr-xr-x. 1 dmdba dmdba 15976 3月  23 14:56 DmAuditMonitorService
-rwxr-xr-x. 1 dmdba dmdba 15140 3月  23 14:56 DmInstanceMonitorService
-rwxr-xr-x. 1 dmdba dmdba 15594 3月  23 14:56 DmJobMonitorService
-rwxr-xr-x. 1 dmdba dmdba 18518 3月  23 15:19 DmServiceDMTEST
[root@Node1 bin]#:

五、启动 停止 查看状态

使用dmdba用户进入DM安装目录下的bin目录下,启动数据库。

#在启动前查看数据库端口,发现没有启动服务。
[root@Node1 bin]#:ss -natp | grep 5236
#切换到dmdba用户
[root@Node1 bin]#:su - dmdba 
上一次登录:日 3月 23 15:12:24 CST 2025pts/0 上
[dmdba@Node1 ~]$ cd /home/dmdba/dmdbms/bin
#在该目录下,执行启动文件。看到启动成功。
[dmdba@Node1 bin]$ ./DmServiceDMTEST start 
Starting DmServiceDMTEST:                                  [ OK ]
[dmdba@Node1 bin]$ 
#这时候再次查看端口,发现服务启动成功。
[dmdba@Node1 bin]$ ss -natp | grep 5236
LISTEN     0      128       [::]:5236                  [::]:*                   users:(("dmserver",pid=6897,fd=3))
[dmdba@Node1 bin]$ 
#查看状态
[dmdba@Node1 bin]$ ./DmServiceDMTEST status
DmServiceDMTEST (pid 6897) is running.
[dmdba@Node1 bin]$ 
#重启数据库。
[dmdba@Node1 bin]$ ./DmServiceDMTEST restart 
Stopping DmServiceDMTEST:                                  [ OK ]
Starting DmServiceDMTEST:                                  [ OK ]
[dmdba@Node1 bin]$ 
#停止数据库    [dmdba@Node1 bin]$ ./DmServiceDMTEST stop
#这里就不停止了。

如何在命令行进入数据库,登录数据库

使用命令,也可以绝对路径启动:

./disql 用户名/密码@主机:端口

./disql SYSDBA/Dmdb_20250323@localhost:5236

[dmdba@Node1 bin]$ exit
登出
[root@Node1 bin]#:cd /home/dmdba/dmdbms/bin
[root@Node1 bin]#:./disql SYSDBA/Dmdb_20250323@localhost:5236

服务器[localhost:5236]:处于普通打开状态
登录使用时间 : 5.961(ms)
disql V8
SQL> 
SQL> 
[root@Node1 bin]#:

进入数据库后,可以exit退出。

六、数据库客户端连接

我们在第2.4节启动了图形化管理界面。可以使用客户端连接DM库。

执行/home/dmdba/dmdbms/tool/下的manager启动客户端工具。

点击新建连接

在弹出的新建数据库连接窗口,输入密码:Dmdb_20250323

根据自己设置的密码输入。

主机名:localhost

端口:默认5236

验证方式:默认

用户名:SYSDBA

口令:[密码]

连接名可以自己起,我这里叫localhost。也可以是本机ip地址

可以点击测试一下看是否能连上。显示连接成功。

点击连接,成功连接到数据库。

成功登录!

---end---

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

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

相关文章

git的底层原理

git的底层原理 三段话总结git, 1. 工作原理:git管理是一个DAG有向无环图,HEAD指针指向branch或直接指向commit,branch指向commit,commit指向tree,tree指向别的tree或直接指向blob。 2. git所管理的一个目录…

MATLAB+Arduino利用板上的按键控制板上Led灯

几年不使用,之前的知识都忘掉了。需要逐步捡起来。 1 熟悉按键的使用 2熟悉灯的控制 1 电路 我们将通过 MATLAB 的 Arduino 支持包与 Arduino 板通信,读取按键状态并控制 LED 灯的亮灭。 按键:连接到 Arduino 的数字引脚(例如…

Cocos Creator Shader入门实战(五):材质的了解、使用和动态构建

引擎:3.8.5 您好,我是鹤九日! 回顾 前面的几篇文章,讲述的主要是Cocos引擎对Shader使用的一些固定规则,这里汇总下: 一、Shader实现基础是OpenGL ES可编程渲染管线,开发者只需关注顶点着色器和…

vue设置自定义logo跟标题

准备 Logo 图片 将自定义的 Logo 图片(如 logo.png)放置在项目的 public文件夹下。 使用环境变量设置 Logo 和标题(可选) 创建或修改 .env 文件 在项目根目录下创建或修改 .env 文件,添加以下内容: VITE_A…

尝试在软考65天前开始成为软件设计师-计算机网络

OSI/RM 七层模型 层次名功能主要协议7应用层实现具体应用功能 FTP(文件传输)、HTTP、Telnet、 POP3(邮件)SMTP(邮件) ------- DHCP、TFTP(小文件)、 SNMP、 DNS(域名) 6表示层数据格式,加密,压缩.....5会话层建立,管理&终止对话4传输层端到端连接TCP,UDP3网络层分组传输&a…

VMware主机换到高配电脑,高版本系统的问题

原来主机是i3 ,windows7系统,vmware 14.0,虚机系统是ubuntu 14.04。目标新机是i7 14700KF,windows11系统。原以为安装虚拟机,将磁盘文件,虚拟机配置文件拷贝过去可以直接用。 新目标主机先安装了vmware 15,运行原理虚机&#xff0…

【Linux内核系列】:动静态库详解

🔥 本文专栏:Linux 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录: 有些鸟儿是注定是关不住的,因为它们的每一片羽翼都沾满了自由的光辉 ★★★ 本文前置知识: 编译与链接的过程…

windows环境下NER Python项目环境配置(内含真的从头安的perl配置)

注意 本文是基于完整项目的环境配置,即本身可运行项目你拿来用 其中有一些其他问题,知道的忽略即可 导入pycharm基本包怎么下就不说了(这个都问?给你一拳o(`ω*)o) 看perl跳转第5条 1.predict报错多个设备…

IDEA批量替换项目下所有文件中的特定内容

文章目录 1. 问题引入2. 批量替换项目下所有文件中的特定内容2.1 右键项目的根目录,点击在文件中替换2.2 输入要替换的内容 3. 解决替换一整行文本后出现空行的问题4. 增加筛选条件提高匹配的精确度 更多 IDEA 的使用技巧可以查看 IDEA 专栏: IDEA 1. 问…

【蓝桥杯】4535勇闯魔堡(多源BFS + 二分)

思路 k有一个范围(0到怪物攻击的最大值),求满足要求的k的最小值。很明显的二分套路。 关键是check函数怎么写,我们需要找到一条从第一行到最后一行的路径,每一次可以从上下左右四个方向前进,那么我么可以用…

HTML图像标签的详细介绍

1. 常用图像格式 格式特点适用场景JPEG有损压缩,文件小,不支持透明适合照片、复杂图像PNG无损压缩,支持透明(Alpha通道)适合图标、需要透明背景的图片GIF支持动画,最多256色简单动画、低色彩图标WebP谷歌开…

Chapter 4-15. Troubleshooting Congestion in Fibre Channel Fabrics

show zone member: Shows the name of the zone to which a device belongs to. This command can be used to find the victims of a culprit device or vice versa. 显示设备所属的区域名称。该命令可用于查找罪魁祸首设备的受害者,反之亦然。 show zone active: Shows the…

QT三 自定义控件

一 自定义控件 现在的需求是这样: 假设我们要在QWidget 上做定制,这个定制包括了关于 一些事件处理,意味着要重写QWidget的一些代码,这是不实际的,因此我们需要自己写一个MyWidget继承QWidget,然后再MyWi…

在 ASP .NET Core 9.0 中使用 Scalar 创建漂亮的 API 文档

示例代码:https://download.csdn.net/download/hefeng_aspnet/90407900 Scalar 是一款可帮助我们为 API 创建精美文档的工具。与感觉有些过时的默认 Swagger 文档不同,Scalar 为 API 文档提供了全新而现代的 UI。其简洁的设计让开发人员可以轻松找到测试…

用于 RGB-D 显著目标检测的点感知交互和 CNN 诱导的细化网络(问题)

摘要 问题一:但在对自模态和跨模态的全局长距离依赖关系进行建模方面仍显不足。什么意思? 自模态(Intra-modal)全局依赖:在同一模态内,长距离像素之间的信息交互对于理解全局背景很重要,但 CN…

python3 -m http.sever 8080加载不了解决办法

解决方法很多,本文设置各种处理方法,逻辑上需要根据你的自身情况选择 我会告诉你遇到这种问题怎么做,根据具体症状处理 如需转载,标记出处 背景: 1。如图 2.。域名访问不了 http://www.meiduo.site:8080/register.ht…

Oracle数据库性能优化全攻略:十大关键方向深度解析与实践指南

文章目录 一、SQL查询优化二、索引优化三、内存管理四、I/O优化五、分区表与分区索引六、并行处理七、统计信息管理八、锁与并发控制九、数据库参数调优十、应用设计优化结论 在当今数据驱动的时代,数据库的性能优化成为了确保企业应用高效运行的关键。Oracle作为业…

windows清除电脑开机密码,可保留原本的系统和资料,不重装系统

前言 很久的一台电脑没有使用了,开机密码忘了,进不去系统 方法 1.将一个闲置u盘设置成pe盘(注意,这个操作会清空原来u盘的数据,需要在配置前将重要数据转移走,数据无价,别因为配置这个丢了重…

【深度学习】【目标检测】【Ultralytics-YOLO系列】Windows11下YOLOV3人脸检测

【深度学习】【目标检测】【Ultralytics-YOLO系列】Windows11下YOLOV3人脸检测 文章目录 【深度学习】【目标检测】【Ultralytics-YOLO系列】Windows11下YOLOV3人脸检测前言YOLOV3模型运行环境搭建YOLOV3模型运行数据集准备YOLOV3运行模型训练模型验证模型推理导出onnx模型 总结…

html5-qrcode前端打开摄像头扫描二维码功能

实现的效果如图所示,全屏打开并且扫描到二维码后弹窗提醒,主要就是使用html5-qrcode这个依赖库,html5-qrcode开源地址:GitHub - mebjas/html5-qrcode: A cross platform HTML5 QR code reader. See end to end implementation at:…