hhdb数据库介绍(9-29)

news/2024/11/29 11:40:17/文章来源:https://www.cnblogs.com/henghuixinda/p/18576252

计算节点参数说明

secureFilePriv

参数说明:

Property Value
参数值 secureFilePriv
是否可见
参数说明 Load data或into outfile时文件的本地读取/写入路径(绝对路径)
默认值
Reload是否生效

参数设置:
server.xml中secureFilePriv参数如下配置:

<property name="secureFilePriv"></property><!-- Load data或into outfile时文件的本地读取/写入路径(绝对路径),为空时则默认为程序目录下的HotDB-TEMP子目录 -->

参数作用:
Load data或into outfile时文件的本地读取/写入路径(绝对路径),为空时则默认为程序目录下的HotDB-TEMP子目录,配置路径后,无论Load data或into outfile时是否指定路径,均以配置路径为准。

例:secureFilePriv配置路径为/usr/local/yds/
在这里插入图片描述

root@127.0.0.1:(none) 5.7.35 03:44:27> use hotdb
Database changed
root@127.0.0.1:hotdb 5.7.35 03:44:30> SELECT * FROM table8 INTO OUTFILE 'data8.txt' FIELDS TERMINATED BY ',' lines terminated by '/n';
Query OK, 3 rows affected (0.09 sec)

已配置路径时,Into outfile和load data都会使用已配置的路径,手动指定路径和配置路径不一致时以配置路径为准
在这里插入图片描述
在这里插入图片描述
使用非计算节点服务器连接计算节点load data时,可使用load data local infile来导入本地文件,如:

计算节点服务器为192.168.240.142,需要导入的文件在192.168.210.134服务器的/data/目录下,使用192.168.210.134连接192.168.240.142计算节点做load data
在这里插入图片描述

semiJoinToInThreshold

参数说明:

Property Value
参数值 semiJoinToInThreshold
是否可见
参数说明 基于semi-join类型的相关子查询可以转换为IN类型的非相关子查询的场景下,若同时满足内查询没有其他where条件,且缓存的内表行数大于该参数值时,不对其进行转换
默认值 5000
最小值 0
最大值 /
Reload是否生效

参数设置:
server.xml中serverId参数如下配置:

 <property name="semiJoinToInThreshold"></property><!-- 如果semi-join类型的相关子查询可以转换为IN类型的非相关子查询,如果内查询没有其他where条件,且缓存的内表行数大于参数值时,不对其进行转换 -->

参数作用:
基于semi-join类型的相关子查询可以转换为IN类型的非相关子查询的场景下,若同时满足内查询没有其他where条件,且缓存的内表行数大于该参数值时,不对其进行转换

serverId

参数说明:

Property Value
参数值 serverId
是否可见
参数说明 集群节点编号1-N(节点数),集群内唯一
默认值 1
Reload是否生效

参数设置:
server.xml中serverId参数如下配置:

<property name="serverId">1</property><!-- 集群节点编号1-N(节点数),集群内唯一 -->

参数作用:
用来区分集群里不同计算节点的ID值,该参数设置需从1开始连续且不重复,若设置重复会导致集群启动异常。

serverPort & managerPort

参数说明:

Property Value
参数值 serverPort
是否可见
参数说明 服务端口
默认值 3323
Reload是否生效
Property Value
参数值 managerPort
是否可见
参数说明 管理端口
默认值 3325
Reload是否生效

参数作用:
服务端口用于登录计算节点执行数据操作语句。

管理端口用来监控计算节点服务信息及监控统计信息,还可执行相关的计算节点管理控制命令。

showAllAffectedRowsInGlobalTable

参数说明:

Property Value
参数值 showAllAffectedRowsInGlobalTable
是否可见
参数说明 全局表IDU语句是否显示所有节点中AffectedRows的总和
默认值 false
Reload是否生效

参数作用:
showAllAffectedRowsInGlobalTable参数设置为true后,全局表执行insert,delete,update相关的SQL语句,结果将显示所有影响到的行数总和。

例如:全局表join_c06_ct关联8个节点,执行该条SQL语句实际数据更新1条,将该参数设置为true时,结果将显示影响到的行数为8(即:更新行数*影响节点数)。

mysql> delete from join_us06_ct where id = 8;Query OK, 8 rows affected (0.01 sec)mysql> update join_us06_ct set e = 'y' where id =7;Query OK, 8 rows affected (0.04 sec)
Rows matched: 8 Changed: 8 Warnings: 0mysql> insert into join_us06_ct values (8,6,1.3,1.4,'y','u',now(),now(),2017);Query OK, 8 rows affected (0.01 sec)
Records: 8 Duplicates: 0 Warnings: 0

将该参数设置为false时,只显示影响的行数,有如下提示:

mysql> update join_us06_ct set e = 'm' where id =4;Query OK, 1 rows affected (0.10 sec)
Rows matched: 1 Changed: 1 Warnings: 0

skipDatatypeCheck

参数说明:

Property Value
参数值 skipDatatypeCheck
是否可见
参数说明 控制是否跳过表结构中对列数据类型的校验
默认值 false
Reload是否生效 Y

参数设置:
server.xml中skipDatatypeCheck参数

<property name="skipDatatypeCheck">true</property>

参数作用:
对中间件服务器执行CREATE、ALTER语句时,是否校验表中非分片字段是否包含DOUBLE,FLOAT,REAL的数据类型。

例如:

mysql> alter table skipDatatypeCheck add(phone double(10,3));

skipDatatypeCheck=false:

mysql> alter table skipDatatypeCheck add(phone double(10,3));
ERROR 1064 (HY000): Column type:'DOUBLE' is forbidden, you could change column:'PHONE' to type 'DECIMAL'

skipDatatypeCheck=true:

mysql> alter table skipDatatypeCheck add(phone double(10,3));
Query OK, 0 rows affected (0.23 sec)

socketBacklog

参数说明:

Property Value
参数值 socketBacklog
是否可见
参数说明 服务端Socket backlog
默认值 1000
最小值 1000
最大值 4000
Reload是否生效

参数设置:

<property name="socketBacklog">1000</property><!-- 服务端Socket backlog(单位个) -->

参数作用:
服务端socket处理客户端socket连接是需要一定时间的。ServerSocket有一个队列,存放还没有来得及处理的客户端Socket,这个队列的容量就是backlog的含义。如果队列已经被客户端socket占满了,如果还有新的连接过来,那么ServerSocket会拒绝新的连接。也即合适的backlog是为了保证队列有一定容量,提高应对瞬间突发大量连接请求的能力,不因瞬时性的队列太小而直接拒绝连接。

sqlTimeout

参数说明:

Property Value
参数值 sqlTimeout
是否可见
参数说明 sql执行超时时间(秒)
默认值 3600
最小值 1
最大值 28800
Reload是否生效 Y

参数作用:
计算节点从往存储节点发送SQL到接收完SQL执行结果的最大时间(包括单库和跨库)。若超过设置时间,会提示执行超时。

SQL执行时间超过设置时间时,会有如下提示:

mysql> select a.*,b.*,c.* from customer_auto_3 a join customer_auto_1 b on a.postcode=b.postcode join customer_auto_2 c on a.provinceid=c.provinceid where c.provinceid in (12,15) and b.province !='anhui' group by a.postcode order by a.birthday,a.provinceid,b.birthday,c.postcode limit 1000;
ERROR 1003 (HY000): query timeout, transaction rollbacked automatically and a new transaction started automatically

sslUseSM4

参数说明:

Property Value
参数值 sslUseSM4
是否可见
参数说明 是否支持国密算法
默认值 false
Reload是否生效 true

参数设置:
server.xml中sslUseSM4参数如下配置:

<property name="sslUseSM4">true</property><!--是否支持国密算法 -->

参数作用:
在server.xml中打开enableSSL和sslUseSM4开关,可以使客户端访问计算节点的过程处于国密验证的加密状态。
在这里插入图片描述
该功能对于用户来说只能通过抓包查看,示例:抓包可见TLS握手包中存在HHDB Server国密SM4定义的加密套件编号:0xff01,说明SM4加解密套件已生效。
在这里插入图片描述
在这里插入图片描述

statisticsUpdatePeriod

参数说明:

Property Value
参数值 statisticsUpdatePeriod
是否可见
参数说明 命令统计持久化周期,单位:毫秒
默认值 0 不持久化
最小值 0
最大值 3600000
Reload是否生效 Y

参数作用:
命令统计信息持久化到配置库的周期,单位:毫秒。

若设置为0,程序异常退出不会持久化,若配置的值大于0,则可以定时持久化到数据库,重启也能累计。

在客户端执行SQL语句,会把相关命令统计在配置库中。当设置为0时,则不统计到配置库。

mysql> use test_ctDatabase changedmysql> select * from tid;Empty set (0.03 sec)

在这里插入图片描述

skipFTWRLAndUnlockTables

参数说明:

Property Value
参数值 skipFTWRLAndUnlockTables
是否可见
参数说明 控制是否禁用FLUSH,LOCK TABLE,UNLOCK TABLE命令
默认值 0
Reload是否生效

参数设置:
通过该参数控制是否禁用FLUSH,LOCK TABLE,UNLOCK TABLE命令,当前主要用于兼容mydumper,默认0,返回报错:

<property name=" skipFTWRLAndUnlockTables ">0</property><!--对FTWRL语句的响应方式的开关,0/1,默认0,返回报错 -->

参数作用:
参数为0时,FLUSH,LOCK TABLE,UNLOCK TABLE命令禁用:

在这里插入图片描述

参数为1时,FLUSH,LOCK TABLE,UNLOCK TABLE命令可以执行:
在这里插入图片描述

strategyForRWSplit

参数说明:

Property Value
参数值 strategyForRWSplit
是否可见
参数说明 是否开启读写分离
默认值 0
Reload是否生效

参数作用:
参数设置为0时,代表不开启读写分离,全部读主机。

mysql> select * from ss order by id;
+----+--------+
| id | a      |
+----+--------+
| 1  | master |
| 2  | master |
| 3  | master |
| 4  | master |
| 5  | master |
+----+--------+
5 rows in set (0.00 sec)

参数设置为1时,代表可分离的读请求发往所有可用存储节点,根据设置的从机读比例,读取从机或主机。

mysql> select * from ss;
+----+--------+
| id | a      |
+----+--------+
| 1  | master |
| 2  | master |
| 3  | master |
| 4  | slave  |
| 5  | slave  |
+----+--------+
5 rows in set (0.00 sec)

参数设置为2时,代表可分离的读请求发往可用备存储节点,事务外的读请求全部发往备存储节点,事务内的读请求发往主存储节点。

  • 事务外:
mysql> select * from ss;
+----+-------+
| id | a     |
+----+-------+
| 1  | slave |
| 2  | slave |
| 3  | slave |
| 4  | slave |
| 5  | slave |
+----+-------+
5 rows in set (0.00 sec)
  • 事务内:
mysql> select * from ss order by id;
+----+—-------+
| id | a      |
+----+—-------+
| 1  | master |
| 2  | master |
| 3  | master |
| 4  | master |
| 5  | master |
+----+—-------+
5 rows in set (0.00 sec)

参数设置为3时,代表事务中发生写前的读请求发往可用备存储节点。事务外的读请求发往可用备存储节点。

mysql> beginQuery OK, 0 row affected (0.00 sec)mysql> select * from ss;
+--------+-------+
| id     | a     |
+--------+-------+
| 4      | slave |
| 5      | slave |
| 600004 | write |
| 600007 | write |
| 600013 | write |
| 1      | slave |
| 2      | slave |
| 3      | slave |
+--------+-------+
8 rows in set (0.00 sec)mysql> insert into ss values(null,'write');Query OK, 0 row affected (0.01 sec)
mysql> select * from ss;
+--------+--------+
| id     | a      |
+--------+--------+
| 1      | master |
| 2      | master |
| 3      | master |
| 600014 | write  |
| 4      | master |
| 5      | master |
| 600004 | write  |
| 600007 | write  |
| 600013 | write  |
+--------+--------+
9 rows in set (0.00 sec)

subInnerFilterThreshold

参数说明:

Property Value
参数值 subInnerFilterThreshold
是否可见
参数说明 相关子查询内查询使用分组过滤时,如果外查询行数小于参数值,内查询将额外使用外查询的数据进行过滤
默认值 200
最小值 0
最大值 50000
Reload是否生效

参数设置:

<property name="subInnerFilterThreshold">false</property><!-- 相关子查询内查询使用分组过滤时,如果外查询行数小于参数值,内查询将额外使用外查询的数据进行过滤 -->

参数作用:
控制内查询是否额外使用外查询的数据进行过滤。

switchByLogInFailover

参数说明:

Property Value
参数值 switchByLogInFailover
是否可见
参数说明 控制故障切换时是否由节点下各存储节点Master_Log_File位置决定切换优先级
默认值 false
Reload是否生效

参数设置:

<property name="switchByLogInFailover">false</property><!-- 故障切换时根据Read_Master_Log_Pos选择切换优先级 -->

参数作用:

  • True状态:故障切换优先通过从库同步速度来确定切换的优先级,具体由Master_Log_File和Read_Master_Log_Pos位置决定,优先取同步速度最快的切换,若所有从机Read_Master_Log_Pos位置相同,则再根据设置的优先级匹配。
  • False状态:根据用户的故障切换规则进行切换。

注意
手动切换操作不受该参数控制。

switchoverTimeoutForTrans

参数说明:

Property Value
参数值 switchoverTimeoutForTrans
是否可见
参数说明 手动切换时旧有事务等待提交超时时间(ms)
默认值 3000
最大值 1800000
最小值 0
Reload是否生效

参数设置:
server.xml的switchoverTimeoutForTrans参数设置 如下图:

<property name="switchoverTimeoutForTrans">3000</property>

参数作用:
手动主备切换时将等待已经开启的事务提交,超过此参数配置的时间,还没有发出提交请求的事务会被回滚。

即:在手动执行主备切换前,开启执行事务不提交,然后执行手动切换,在超时时间内提交事务,事务可提交成功。若大于超时则前端连接断开,事务自动回滚。

例如:

  1. 设置switchoverTimeoutForTrans超时时间36000ms。

  2. 开启事务执行插入操作,手动执行主备切换,在36000ms内提交事务。提交成功如下:

mysql> begin;Query OK, 0 rows affected (0.00 sec)mysql> insert into TEST_001 values(1);Query OK, 0 rows affected (0.00 sec)mysql> commit;Query OK, 0 rows affected (0.00 sec)mysql> select * from TEST_001;+----+
| id |
+----+
| 1  |
+----+
1 row in set (0.01 sec)

提交事务后查询到id=1

  1. 开启事务执行插入操作,手动执行主备切换,超过36000 ms事务未提交,由于提交超时,事务回滚如下:
mysql> begin;Query OK, 0 rows affected (0.00 sec)mysql> insert into TEST_001 values(2);Query OK, 0 rows affected (0.00 sec)

一分钟后执行查询语句:

mysql> select * from TEST_001;ERROR 2013 (HY000): Lost connection to MySQL server during query
ERROR 2016 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 40672
Current database: test_jzl

重新登录后查询,发现事务没有提交:

mysql> select * from TEST_001;+----+
| id |
+----+
| 1  |
+----+
1 row in set (0.01 sec)

switchSlaveMasterInFailover

参数说明:

Property Value
参数值 switchSlaveMasterFailover
是否可见
参数说明 控制当前主库切换至其他可用从库时,其他关联从库是否同步CHANGE MASTER到接管服务的新主库
默认值 1
Reload是否生效

参数设置:

<property name="switchSlaveMasterFailover">1</property><!-- 控制当前主库切换至其他可用从库时,其他关联从库是否同步CHANGE MASTER到接管服务的新主库 -->

参数作用:
参数开启时,发生故障或切换的存储节点对象如果有级联从库,就将级联从库change master到当前新主上。所有实际复制关系的延迟可通过show @@latency展示,若出现故障则对应的复制关系状态为stopped。可结合数据节点高可用章节了解详情。

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

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

相关文章

leetcode39 组合总和

leetcode39 组合总和思路: 这题也是用回溯,但是考虑到不能重复,所以用一个currentNum记录当前遍历到哪了,按照大小顺序遍历防止重复就行。 class Solution {//11:10-11:18public void dfs(int[] candidates,List<List<Integer>> ans,int currentNum,List<…

hhdb数据库介绍(9-27)

计算节点参数说明 ndbSqlAddr & ndbSqlUser & ndbSqlPass 参数说明:Property Value参数值 ndbSqlAddr是否可见 是参数说明 NDB SQL端IP地址默认值 localhost:3329Reload是否生效 否Property Value参数值 ndbSqlUser是否可见 是参数说明 NDB SQL前端用户名默认值 rootR…

09C++选择结构(3)

1、求3个整数中最小值; 2、3个数排序; 3、随机函数rand(); 4、if语句的应用; 5、bug与debug一、求3个整数中最小值 题目:输入三个整数,表示梨的重量,输出最小的数。 方法1:经过三次两两比较,得出最小值。 a<=b && a<=c min=ab<=c && b<=a…

hhdb数据库介绍(9-26)

计算节点参数说明 masterSourceInitWaitTimeout 参数说明:Property Value参数值 masterSourceInitWaitTimeout是否可见 否参数说明 启动时数据节点中主存储节点初始化超时时间默认值 300最小值 0最大值 600Reload是否生效 是参数作用: 启动时,主存储节点在首次初始化失败后,…

[TSDB] OpenGemini wal文件与tssp文件的用途与关系

前言 openGemini是一款面向物联网、车联网、工业互联网、运维监控等领域的开源分布式时序数据库。 在openGemini中,WAL(Write-Ahead Logging)文件和TSSP(Time Series Storage Protocol)文件扮演着重要的角色,以下是关于它们的用途及关系的详细解释: WAL文件 用途WAL文件…

hhdb数据库介绍(9-24)

计算节点参数说明 failoverAutoresetslave 参数说明:Property Value参数值 failoverAutoresetslave是否可见 是参数说明 故障切换时,是否自动重置主从复制关系默认值 falseReload是否生效 否参数设置: <property name="failoverAutoresetslave">false</p…

“4个应用场景”以图搜图与实物比对,赋能机械制造智能化升级

背景 随着制造业和工业生产的不断发展,机械设计和加工过程中的图纸与实物比对成为生产质量管控的重要环节。然而,传统手动比对方式耗时费力,且易出现误差。思通数科凭借自主研发的大模型技术,为用户提供了一套高效、智能的以图搜图与实物比对解决方案,大幅提升了机械设计和…

校园防欺凌ai语音监控系统

校园防欺凌ai语音监控系统核心优势在于其先进的音频识别算法,校园防欺凌ai语音监控系统能够识别出关键词如侮辱、恐吓、求救等敏感语言,并能够区分正常的交流和潜在的欺凌行为。系统通过安装在校园各关键区域的麦克风捕捉声音信号,这些信号会被实时传输到中央处理单元。在这…

hhdb数据库介绍(9-18)

SQL语法支持 计算节点语法特殊功能 默认分片规则建表 在使用关系集群数据库时,需要先将表的分片规则信息配置好之后才能创建表。实际使用过程中,用户可能对关系集群数据库及分片规则不了解,这就需要一种能直接过渡到HHDB Server的方案,该方案能根据逻辑库关联的分片节点数量…

Windows Cmd查询端口号对应的进程及关闭进程

Windows Cmd查询端口号对应的进程及关闭进程 1. 使用 netstat 查询端口和进程信息 运行以下命令: netstat -ano | findstr :端口号示例: 如果要查询端口 80812. 查找进程 ID 所属的程序 通过上面命令的输出获取到 PID(进程 ID)后,可以使用以下命令查看对应的程序名称: ta…

hhdb数据库介绍(9-16)

SQL语法支持 事务管理与锁语句语句类型 事务语句 语句参数 状态 说明事务管理 START TRANSACTION 无参数 支持WITH CONSISTENT SNAPSHOT 支持READ WRITE 支持READ ONLY 支持BEGIN支持COMMIT支持COMMIT [AND [NO] CHAIN] [[NO] RELEASE] 支持ROLLBACK支持ROLLBACK [AND [NO] CHA…

MySQL_索引失效_类型转换

1.类型转换索引失效场景SELECT * FROM tbl_name WHERE str_col=1; 列str_col上有建立索引,一个字符串类型的列给一个整数类型的值。 问题:为什么会导致索引失效? 原因:MySQL官方文档解释:The reason for this is that there are many different strings that may convert …