linux下安装达梦数据库v8详解
目录
操作系统、数据库
1、下载达梦数据库
2、安装前准备
2.1、建立数据库用户和组
2.2、修改文件打开最大数
2.3、挂载镜像
2.4、新建安装目录
3、数据库安装
4、配置环境变量
5、初始化数据库实例
6、注册服务
7、使用数据库
8、卸载数据库
9、多实例管理
10、windows DM管理工具
10.1、下载安装windows DM管理工具
10.1、下载安装windows DM管理工具
11、文档查看
11.1、在线文档
11.2、安装程序中的本地文档
操作系统、数据库
操作系统:Debian 10
数据库:达梦数据库v8
1、下载达梦数据库
官方下载链接:产品下载 | 达梦数据库
官方安装文档:安装前准备 | 达梦技术文档
文件名:dm8_20230104_x86_rh6_64.zip
2、安装前准备
2.1、建立数据库用户和组
注意
安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。
建立数据库用户组、建立数据库用户、设置数据库用户密码
groupadd -g 12349 dinstall
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba
2.2、修改文件打开最大数
重启服务器后永久生效
使用 vi 编辑器打开 /etc/security/limits.conf 文件,在最后添加四条语句,命令如下:
vi /etc/security/limits.confdmdba hard nofile 65537
dmdba soft nofile 65537
dmdba hard stack 32768
dmdba soft stack 16384
切换到 dmdba 用户,查看是否生效,命令如下:
su - dmdbaulimit -a
2.3、挂载镜像
切换到 root 用户,将 DM 数据库的 iso 安装包挂载在任意位置,例如 /dm 目录下,
新建挂载目录/dm
mkdir /dm
进入iso所在目录,这里的pathToIso修改为实际ISO所在目录。
cd pathToIso/dm8_20230104_x86_rh6_64.iso
执行如下命令挂载镜像:
mount -o loop dm8_20230104_x86_rh6_64.iso /dm
2.4、新建安装目录
在达梦家目录下创建 /dm 文件夹,用来安装 DM 数据库。命令如下:
mkdir /home/dmdba/dm
注意
使用 root 用户建立文件夹,待 dmdba 用户建立完成后
,需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下
修改安装目录权限
将新建的安装路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:
chown dmdba:dinstall -R /home/dmdba/dm
给安装路径下的文件设置 755 权限。命令如下:
chmod -R 755 /home/dmdba/dm
3、数据库安装
切换到数据库用户进行安装
su - dmdba
进入达梦iso挂载目录,执行安装命令
cd /dm
./DMInstall.bin -i
由于数据库安装服务非root用户,无法创建服务。
需要以root用户执行下述脚本:建立数据库配置文件,进行数据库服务创建,配置systemd服务管理,配置开机自启动。
4、配置环境变量
切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入。
添加path环境变量,命令如下:
编辑 $DM_HOME/.bash_profile,使其最终效果如下图所示:
cd /home/dmdba/
vim .bash_profile
加入一行
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
然后切换至 dmdba 用户下,执行以下命令,使环境变量生效。
su - dmdba
source .bash_profile
5、初始化数据库实例
命令行初始化数据库实例
使用 dmdba 用户始化数据库实例,进入到 DM 数据库安装目录下的 bin 目录中,使用 dminit 命令初始化实例。
dminit 命令可设置多种参数,可执行如下命令查看可配置参数
./dminit help
关键字 | 说明(默认值) |
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 | 日志文件大小(256),单位为:M,范围为:256M~2G |
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[ZB] |
LENGTH_IN_CHAR VARCHAR | 类型长度是否以字符为单位(N),可选值:Y/N,1/0 |
SYSDBA_PWD | 设置SYSDBA密码(SYSDBA) |
SYSAUDITOR_PWD | 设置SYSAUDITOR密码(SYSAUDITOR) |
DB_NAME | 数据库名(DAMENG) |
INSTANCE_NAME | 实例名(DMSERVER) |
PORT_NUM | 监听端口号(5236) |
BUFFER | 系统缓存大小(100),单位M |
TIME_ZONE | 设置时区(+08:00) |
PAGE_CHECK | 页检查模式(1),可选值:0/1/2 |
PAGE_HASH_NAME | 设置页检查HASH算法 |
EXTERNAL_CIPHER_NAME | 设置默认加密算法 |
EXTERNAL_HASH_NAME | 设置默认HASH算法 |
EXTERNAL_CRYPTO_NAME | 设置根密钥加密引擎 |
RLOG_ENCRYPT_NAME | 设置日志文件加密算法,若未设置,则不加密 |
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 | 分布式环境下协同工作的监听端口 |
DFS_FLAG | 初始化时设置dm.ini中的DFS_INI(0) |
DFS_PATH | 启用dfs时指定数据文件的缺省路径 |
DFS_HOST | 指定连接分布式系统DFS的服务地址(localhost) |
DFS_PORT | 指定连接分布式系统DFS的服务端口号(3332) |
DFS_COPY_NUM | 指定分布式系统的副本数(3) |
DFS_DB_NAME | 指定分布式系统的中数据库名(默认与DB_NAME一致) |
SHARE_FLAG | 指定分布式系统中该数据库的共享属性(0) |
REGION_MODE | 指定分布式系统中该数据库的系统表空间数据文件的区块策略(0) 0:微区策略 1:宏区策略 |
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代替 |
HELP | 打印帮助信息 |
使用如下命令初始化数据库
dmdba@debian:~/dmdbms/bin$ ./dminit path=/home/dmdba/dm/data db_name=DAMENG instance_name=DMSERVER port_num=5236 CASE_SENSITIVE=0 CHARSET=1
数名 | 说明 |
---|---|
path=/home/dmdba/dm/data | 初始数据库存放的路径 |
db_name=DAMENG | 数据库名(DAMENG) |
instance_name=DMSERVER | 实例名(DMSERVER) |
port_num=5236 | 监听端口号(5236) |
下面是官方描述:供参考
需要注意的是页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改,需谨慎设置。
extent_size 指数据文件使用的簇大小,即每次分配新的段空间时连续的页数。只能是 16 页或 32 页或 64 页之一,缺省使用 16 页。
page_size 数据文件使用的页大小,可以为 4 KB、8 KB、16 KB 或 32 KB 之一,选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降,缺省使用 8 KB。
case_sensitive 标识符大小写敏感,默认值为 Y 。当大小写敏感时,小写的标识符应用双引号括起,否则被转换为大写;当大小写不敏感时,系统不自动转换标识符的大小写,在标识符比较时也不区分大小写,只能是 Y、y、N、n、1、0 之一。
charset 字符集选项。0 代表 GB18030;1 代表 UTF-8;2 代表韩文字符集 EUC-KR;取值 0、1 或 2 之一。默认值为 0。
可以使用默认参数初始化实例,需要附加实例存放路径。此处以初始化实例到 /dm/data 目录下为例(执行初始化命令前,需要使用 root 用户授予 /dm/data 目录相应权限,可以参考修改目录权限),初始化命令如下:
./dminit path=/dm/data
dminit 默认参数
也可以自定义初始化实例的参数,参考如下示例:
以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMDB,实例名为 DBSERVER,端口为 5237。
./dminit path=/dm/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y
CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5237
dminit 设置参数
注意
如果此处自定义了初始化参数,在后面的注册服务和启动数据库等步骤中,请按实际的自定义参数进行操作。
至此完成了DM数据库的命令行安装及初始化
6、注册服务
给刚初始化的数据库创建后台服务
需使用root用户创建
服务名叫做DmServiceDMSERVER
su - rootcd /home/dmdba/dmdbms/script/root./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dm/data/DAMENG/dm.ini -p DMSERVER会自动创建systemd服务
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service → /lib/systemd/system/DmServiceDMSERVER.service.
创建服务(DmServiceDMSERVER)完成
root@debian:/home/dmdba/dmdbms/script/root# 设置服务开机自启动,并开启服务。
systemctl enable DmServiceDMSERVER开启服务
systemctl start DmServiceDMSERVER查看服务
systemctl status DmServiceDMSERVERroot@debian:/home/dmdba/dmdbms/script/root#
● DmServiceDMSERVER.service - DM Instance Service(DmServiceDMSERVER).Loaded: loaded (/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: enabled)Active: active (running) since Mon 2023-04-03 05:16:08 PDT; 2s agoProcess: 79472 ExecStart=/home/dmdba/dmdbms/bin/DmServiceDMSERVER start (code=exited, status=0/SUCCESS)Main PID: 79495 (dmserver)Tasks: 66Memory: 544.4MCGroup: /system.slice/DmServiceDMSERVER.service└─79495 /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dm/data/DAMENG/dm.ini -noconsoleApr 03 05:15:53 debian systemd[1]: Starting DM Instance Service(DmServiceDMSERVER)....
Apr 03 05:16:08 debian DmServiceDMSERVER[79472]: [39B blob data]
Apr 03 05:16:08 debian systemd[1]: Started DM Instance Service(DmServiceDMSERVER)..
root@debian:/home/dmdba/dmdbms/script/root#
命令行参数如下:
7、使用数据库
登录数据库
su - dmdba
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/SYSDBA@LOCALHOST:5236
格式:账号/口令@网络地址:端口号
账户:SYSDBA管理员账户
口令:初始化数据库可以指定,如没指定默认SYSDBA
端口号:初始化数据库指定的PORT_NUM
dmdba@debian:~/dmdbms/bin$ ./disql SYSDBA/SYSDBA@LOCALHOST:5236
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.979(ms)
disql V8
SQL> helpHELP
----显示打印信息,键入HELP或者 ? .HELP|? [topic]APPEND 添加文本到当前行的末尾。COLUMN 描述指定列的信息。CONNECT 连接到服务器。CLEAR 重置或清理指定操作的缓存。DISCONNECT 提交所有修改到服务器,但不退出DISQL。要退出DISQL使用exit命令。DESCRIBE 获取表或视图、存储过程、函数、包、记录、类的结构描述。DEFINE 设置变量值,或者显示已定义的变量信息。HOST 在不退出DISQL的情况下执行操作系统命令。EDIT 打开一个文本编辑器,里面包含所有SQL记录。EXIT 提交或者回滚所有修改,退出DISQL。MORE 切换到下一个结果集。LIST 显示最近执行的SQL语句或者PL/SQL块信息,或者使用 ";"命令。不显示DISQL命令。PROMPT 发送指定的消息或者空行到用户的屏幕。QUIT 提交或者回滚所有修改,退出DISQL。SET 设置某个系统环境变量,设置的值会修改当前会话的DISQL系统设置,例如:- 设置数据显示宽度- 制定 HTML 格式- 允许/禁止打印列头- 设置每一页的行数SHOW 显示某个DISQL的系统变量,或者当前DISQL的环境变量。SPOOL 屏幕显示的内容输出到指定文件。WHENEVER 当一个SQL命令,或者PL/SQL块生成一个错误的时候,执行特定的命令(默认是DISQL退出)SQL> quit
dmdba@debian:~/dmdbms/bin$ pwd
/home/dmdba/dmdbms/bin
查看默认的所有用户
select username,user_id,default_tablespace,profile from dba_users:
查看数据库版本号
select * from v$version;
select id_code;
参数 | 说明 |
---|---|
DM Database Server 64 V8 | 达梦数据库管理系统目前最新的版本是8.0版本,简称DM8。 64 版本位数标识,64表示为64位版本,无64则表示为32位版本;V8 是大版本号。 |
B Version: 0x7000c | |
03134283968-20230103-178822-20033 | 03134283968 小版本号,20230103 版本编译时间;178822 代码SVN号;20033 分支代码号;后面如还有字段ENT是版本:ENT 版本标识,ENT表示企业版,还有STD标准版,SEC安全版。(其他标识为非通用的定制版) |
8、卸载数据库
切换到root用户
切换到root用户
su - root停止服务
systemctl stop DmServiceDMSERVER
systemctl stop DmAPService.service 执行卸载程序
切换到dmdba用户
su - dmdba
cd /home/dmdba/dmdbms
./uninstall.sh -idmdba@debian:~/dmdbms$ ./uninstall.sh -i
请确认是否卸载达梦数据库(/home/dmdba/dmdbms/)? (y/Y:是 n/N:否):y是否删除dm_svc.conf配置文件? (y/Y:是 n/N:否):y正在删除所有数据库库服务
删除数据库服务DmAuditMonitorService
删除数据库服务DmInstanceMonitorService
删除数据库服务DmJobMonitorService
删除数据库服务DmAPService
删除数据库服务DmServiceDMSERVER
删除所有数据库库服务完成
正在删除数据库目录
删除bin目录
删除bin目录完成
删除bin2目录
删除bin2目录完成
删除include目录
删除include目录完成
删除desktop目录
删除desktop目录完成
删除doc目录
删除doc目录完成
删除drivers目录
删除drivers目录完成
删除jdk目录
删除jdk目录完成
删除jar目录
删除jar目录完成
删除samples目录
删除samples目录完成
删除script目录
删除script目录完成
删除tool目录
删除tool目录完成
删除web目录
删除web目录完成
删除uninstall目录
删除uninstall目录完成
删除license_en.txt文件
删除license_en.txt文件完成
删除license_zh.txt文件
删除license_zh.txt文件完成
删除uninstall.sh文件
删除uninstall.sh文件完成
删除数据库目录完成使用root用户执行命令:
/home/dmdba/dmdbms/root_uninstaller.sh
dmdba@debian:~/dmdbms$ 使用root用户执行清理命令
切换到root
su - root
/home/dmdba/dmdbms/root_uninstaller.sh
root@debian:/home/dmdba/dmdbms/script/root# /home/dmdba/dmdbms/root_uninstaller.sh
sh: 0: getcwd() failed: No such file or directory
删除DmAPService服务
Removed /etc/systemd/system/multi-user.target.wants/DmAPService.service.
删除DmServiceDMSERVER服务
Removed /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service.
删除/etc/dm_svc.conf文件
root@debian:/home/dmdba/dmdbms/script/root# 此卸载完毕
9、多实例管理
建立端口为5237的数据库实例
命令如下
切换到dmdba用户
su - dmdba
cd /home/dmdba/dmdbms/bin
dminit path=/home/dmdba/dm/data db_name=DAMENG_5237 instance_name=DMSERVER_5237 port_num=5237 CASE_SENSITIVE=0 CHARSET=1dmdba@debian:~/dmdbms/bin$ dminit path=/home/dmdba/dm/data db_name=DAMENG_5237 instance_name=DMSERVER_5237 port_num=5237 CASE_SENSITIVE=0
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-01-03
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLLlog file path: /home/dmdba/dm/data/DAMENG_5237/DAMENG_523701.loglog file path: /home/dmdba/dm/data/DAMENG_5237/DAMENG_523702.logwrite to dir [/home/dmdba/dm/data/DAMENG_5237].
create dm database success. 2023-04-06 23:12:23
dmdba@debian:~/dmdbms/bin$ 注册服务
切换到root用户
su - root
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dm/data/DAMENG_5237/dm.ini -p DMSERVER_5237root@debian:/home/dmdba/dmdbms/script/root# ./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dm/data/DAMENG_5237/dm.ini -p DMSERVER_5237
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER_5237.service → /lib/systemd/system/DmServiceDMSERVER_5237.service.
创建服务(DmServiceDMSERVER_5237)完成
root@debian:/home/dmdba/dmdbms/script/root#建立第二个实例前,data目录
root@debian:/home/dmdba/dm/data# ls -l
total 4
drwxr-xr-x 6 dmdba dinstall 4096 Apr 6 21:46 DAMENG
root@debian:/home/dmdba/dm/data# 建立第二个实例后,data目录
root@debian:/home/dmdba/dm/data# ls -l
total 8
drwxr-xr-x 6 dmdba dinstall 4096 Apr 6 21:46 DAMENG
drwxr-xr-x 5 dmdba dinstall 4096 Apr 6 23:12 DAMENG_5237
root@debian:/home/dmdba/dm/data# 数据库名对应data目录下的一个文件夹。查看多实例
ps -elf|grep -v grep|grep dmserverroot@debian:/home/dmdba/dmdbms/script/root# ps -elf|grep -v grep|grep dmserver
0 S dmdba 790 1 0 80 0 - 1003086 - 19:18 ? 00:00:57 /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dm/data/DAMENG/dm.ini -noconsole
0 S dmdba 46960 1 24 80 0 - 806203 - 23:24 ? 00:00:06 /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dm/data/DAMENG_5237/dm.ini -noconsole
root@debian:/home/dmdba/dmdbms/script/root#disql连接特定实例(不同端口区分不同数据库实例)
切换到dmdba用户
su - dmdba
cd /home/dmdba/dmdbms/bin
disql SYSDBA/SYSDBA@LOCALHOST:5237dmdba@debian:~/dmdbms/bin$ disql SYSDBA/SYSDBA@LOCALHOST:5237服务器[LOCALHOST:5237]:处于普通打开状态
登录使用时间 : 5.103(ms)
disql V8
SQL> SELECT USER_NAME,CLNT_TYPE,TIME_ZONE,CLNT_IP,CLNT_VER FROM V$SESSIONS;行号 USER_NAME CLNT_TYPE TIME_ZONE CLNT_IP CLNT_VER
---------- --------- --------- --------- --------- ---------
1 SYSDBA SQL3 +08:00 ::1:42982 8.1.2.192已用时间: 4.888(毫秒). 执行号:58900.
SQL> select username,user_id,default_tablespace,profile from dba_users;行号 username user_id default_tablespace PROFILE
---------- ---------- ----------- ------------------ ------------------------------------------
1 SYSAUDITOR 50331650 SYSTEM /home/dmdba/dm/data/DAMENG_5237/SYSTEM.DBF
2 SYSSSO 50331651 SYSTEM /home/dmdba/dm/data/DAMENG_5237/SYSTEM.DBF
3 SYSDBA 50331649 MAIN /home/dmdba/dm/data/DAMENG_5237/MAIN.DBF
4 SYS 50331648 SYSTEM /home/dmdba/dm/data/DAMENG_5237/SYSTEM.DBF已用时间: 110.744(毫秒). 执行号:58901.
SQL> select name,create_time from v$database;行号 name create_time
---------- ----------- -------------------
1 DAMENG_5237 2023-04-06 23:12:22已用时间: 2.853(毫秒). 执行号:58902.
SQL>
10、windows DM管理工具
10.1、下载安装windows DM管理工具
产品下载 | 达梦数据库
选择X86 Win_64 下载
文件名:dm8_20230106_x86_win_64.zip
解压安装
选择客户端安装
10.1、下载安装windows DM管理工具
新建连接
输入数据库主机名(数据库服务器地址)
端口默认是5236
用户名SYSDBA 密码默认是SYSDBA
点确定进行连接
11、文档查看
11.1、在线文档
产品手册 | 达梦技术文档
11.2、安装程序中的本地文档
windows dm数据库系统安装目录下doc文件夹
相关文章:

linux下安装达梦数据库v8详解
目录 操作系统、数据库 1、下载达梦数据库 2、安装前准备 2.1、建立数据库用户和组 2.2、修改文件打开最大数 2.3、挂载镜像 2.4、新建安装目录 3、数据库安装 4、配置环境变量 5、初始化数据库实例 6、注册服务 7、使用数据库 8、卸载数据库 9、多实例管理 10、…...

Redis的常用命令
Redis中文字典网站 redis 命令手册https://redis.com.cn/commands.html Keys * 查看当前库所有的key exists ke 判断某个key是否存在 type key查看你的key是什么类型 Del key删除执行的key数据 unlink key非阻塞删除,仅仅将keys从keyspace元数据中删除…...

Docker入门常用命令总结
1.从远程仓库拉取一个纯净的镜像 docker pull docker .io/centos 2.创建并进入容器(左外右内) docker run --name xxx -dit 镜像id(镜像名称:Tag) /bin/bash 【参数必须放在镜像ID之前】 -i 让Docker分配一个伪终端,并…...

【Qt】容器控件、布局管理控件
目录 容器控件 QGroupBox QTabWidget 布局管理控件 QVBoxLayout 例子: QHBoxLayout 例子: QGridLayout 例子: 例子: QFormLayout 例子: QSpacerItem 例子: 容器控件 QGroupBox 表示一个带有…...

cesium小知识:常见的20多种property详解
要详细解释 Cesium 中所有的 Property 类,内容确实会非常丰富且详尽。 Property 基础 Property 是 Cesium 中用于表示随时间或条件变化的值的基础类。它允许你定义属性值如何根据时间、用户交互或其他逻辑动态改变。Property 的设计使得你可以创建复杂的动画和交互效果,而…...

图数据库 | 17、高可用分布式设计(上)
我们在前面的文章中,探索了多种可能的系统扩展方式,以及每种扩展方式的优劣。 本篇文章将通过具体的架构设计方案来对每一种方案的设计、投入产出比、各项指标与功能,以及孰优孰劣等进行评价。 在设计高性能、高可用图数据库的时候…...

1.运控概述
以下并不是我原创(包括图片),都是来源于网络收集。如CSDN博主,朝夕教育,AI等。 什么是运动控制 运控是指“控制移动”之意,可以利用各种电机进行位置控制等操作,让机器听懂你的指令。 什么是…...

DuckDB:密钥管理器及其应用
密钥管理器(Secrets Manager)为所有使用密钥的后端提供了统一的用户界面。密钥信息可以被限定范围,因此不同的存储前缀可以有不同的密钥信息,例如允许在单个查询中连接跨组织的数据。密钥也可以持久化,这样就不需要在每次启动DuckDB时都指定它…...

单元测试4.0+思路总结
Jmockit使用笔记_增加代码覆盖率_覆盖try catch_使用new MockUp私有方法-CSDN博客 一般使用new MockUp模拟被测试代码中的私有方法(常用) 使用new Expetations模拟被测试代码中的方法?...

epoll 水平ET跟边缘LT触发的区别是什么
epoll默认的是水平触发 意思就是当我们depoll默认的是水平触发 LT 模式(水平触发) 工作机制:在 LT 模式下,只要文件描述符(例如套接字)对应的 I/O 缓冲区中有数据可读或者可写空间(对于写操作…...

设计模式 创建型 单例模式(Singleton Pattern)与 常见技术框架应用 解析
单例模式(Singleton Pattern)是一种创建型设计模式,旨在确保某个类在应用程序的生命周期内只有一个实例,并提供一个全局访问点来获取该实例。这种设计模式在需要控制资源访问、避免频繁创建和销毁对象的场景中尤为有用。 一、核心…...

Java项目实战II基于微信小程序的家庭大厨(开发文档+数据库+源码)
目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 在快节奏的生活中,家庭聚餐成为了连接亲情…...

【JVM】总结篇-字节码篇
字节码篇 Java虚拟机的生命周期 JVM的组成 Java虚拟机的体系结构 什么是Java虚拟机 虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。常用的虚拟机有VMWare,Visual Box&…...

HTML——28.音频的引入
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>音频引入</title></head><body><!--audio:在网页中引入音频当属性名和属性值一样,可以只写属性名src属性:指定音频文件路径,必…...

Visual Point Cloud Forecasting enables Scalable Autonomous Driving——点云论文阅读(12)
此内容是论文总结,重点看思路!! 文章概述 这篇文章介绍了一个名为 ViDAR 的视觉点云预测框架,它通过预测历史视觉输入生成未来点云,作为自动驾驶的预训练任务。ViDAR 集成了语义、三维几何和时间动态信息,有效提升了感知、预测和规划等自动驾驶核心任务的性能。实验表明…...

《Xsens动捕与人形机器人训练》讲座将于1月9日下午2:30在线上召开
《Xsens动捕与人形机器人训练》讲座将于1月9日下午2:30在线上召开,本次讲座中来自Xsens的人形机器人与动捕技术专家Jeffrey Muller与Dennis Kloppenburg不仅将就Xsens动作捕捉系统与人形机器人行为训练中的实际应用进行详细讲解,同时还会对目前大家所关注…...

Mac 安装 Flutter 提示 A network error occurred while checking
错误信息 A network error occurred while checking "https://maven.google.com/": Operation timed out原因 在中国大陆(由于访问 Google 服务器的限制导致超时),无法连接到 https://maven.google.com/ 解决方案 需要使用镜像网站 #flutter 使用国内的镜像 export …...

形态学:图像处理中的强大工具
在图像处理中,形态学(Morphology) 是一类基于形状的操作,主要用于提取、分析和处理图像中的几何结构。尽管形态学操作最初是为二值图像设计的,但它也可以应用于灰度图像,帮助提取图像中的结构特征。形态学操…...

树莓派 Pico RP2040 教程点灯 双核编程案例
双核点亮不同的 LED 示例,引脚分别是GP0跟GP1。 #include "pico/stdlib.h" #include "pico/multicore.h"#define LED1 0 // 核心 0 控制的 LED 引脚 #define LED2 1 // 核心 1 控制的 LED 引脚// the setup function runs once when you press …...

2024年大型语言模型(LLMs)的发展回顾
2024年对大型语言模型(LLMs)来说是充满变革的一年。以下是对过去一年中LLMs领域的关键进展和主题的总结。 GPT-4的壁垒被打破 去年,我们还在讨论如何构建超越GPT-4的模型。如今,已有18个组织拥有在Chatbot Arena排行榜上超越原…...

实现单例模式的五种方式
如何实现一个单例 1、构造器需要私有化 2、提供一个私有的静态变量 3、暴露一个公共的获取单例对象的接口 需要考虑的两个问题 1、是否支持懒加载 2、是否线程安全 1、饿汉式 public class EagerSingleton {private static final EagerSingleton INSTANCE new EagerSi…...

pcl源码分析之计算凸包
文章目录 前言一、应用案例二、源码分析1.ConvexHull类2.reconstruct函数3.performReconstruction 函数4.calculateInputDimension 函数 总结 前言 本文分析一下pcl里凸包的源码。什么是凸包以及怎么求解,可以了解一下概念。 一、应用案例 #include <pcl/surfa…...

在K8S中,Pod请求另一个Pod偶尔出现超市或延迟,如何排查?
在Kubernetes中,当Pod请求另一个Pod时偶尔出现超时或延迟,可能是由于多种原因造成的。以下是一些建立的排查步骤: 1. 检查网络配置和插件: 确认你的kubernetes集群使用了合适的网络插件(如Calico、Flannel等…...

3blue1brow线代笔记
向量 物理:空间中的箭头,长度和方向决定一个向量。只要两者相同,可以任意移动保持不变 计算机:有序的数字列表 (数组) 数学:向量可以是任何东西,只要保证两个向量相加以及数字与向量…...

【前端系列】优化axios响应拦截器
文章目录 一、前言🚀🚀🚀二、axios响应拦截器:☀️☀️☀️2.1 为什么前端需要响应拦截器element ui的消息组件 一、前言🚀🚀🚀 ☀️ 回报不在行动之后,回报在行动之中。 这个系列可…...

SQL使用视图
本文将介绍什么是视图,它们怎样工作,何时使用它们。 1. 视图 视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。 说明:SQLite 的视图 SQLite 仅支持只读视图,所以视图可以创建ÿ…...

在Windows计算机上打开 HEIC 文件的 6 种有效方法
如果您是 iPhone 用户,您可能对 HEIC 照片很熟悉。这种新兴格式是一种非常高效的图片编码器,它以小得多的尺寸提供至少类似 JPEG 的质量。这对于存储容量较小的手机尤其有利。但是,如何在Windows上打开 HEIC 文件? 假设您用 iDev…...

开源数据集成平台白皮书重磅发布《Apache SeaTunnel 2024用户案例合集》!
2025年新年临近,Apache SeaTunnel 社区用户案例精选📘也跟大家见面啦!在过去的时间里,SeaTunnel 社区持续成长,吸引了众多开发者的关注与支持。 为了致谢一路同行的伙伴,也为了激励更多人加入技术共创&…...

C# delegate 委托使用教程
什么是委托? 委托是定义方法签名的引用类型数据类型,可以定义委托的变量,就像其他数据类型一样,可以引用与委托具有相同签名的任何方法。 它允许方法作为参数传递,并允许事件驱动编程。它们提供了一种以类型安全的方…...

《机器学习》——数据标准化(0~1标准化,z标准化)
文章目录 数据标准化一、什么是标准化二、常用标准化0~1标准化z标准化 三、注意事项 数据标准化 一、什么是标准化 数据标准化是一种数据预处理技术,用于将数据按照一定的规则进行变换,使得不同特征或变量具有可比性和一致性。作用 消除量纲影响 在实际…...