首页 > 数据库 >hhdb数据库介绍(9-29)

hhdb数据库介绍(9-29)

时间:2024-11-29 11:43:56浏览次数:9  
标签:是否 数据库 29 参数 mysql sec hhdb 节点 参数设置

计算节点参数说明

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: 0

mysql> 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_ct

Database changed

mysql> 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> begin

Query 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。可结合数据节点高可用章节了解详情。

标签:是否,数据库,29,参数,mysql,sec,hhdb,节点,参数设置
From: https://www.cnblogs.com/henghuixinda/p/18576252

相关文章

  • hhdb数据库介绍(9-25)
    计算节点参数说明idcId&idcNodeHost参数说明:PropertyValue参数值idcId是否可见是参数说明机房ID,1:中心机房,2:容灾机房默认值0Reload是否生效是PropertyValue参数值idcNodeHost是否可见是参数说明另一个机房的连接信息......
  • hhdb数据库介绍(9-26)
    计算节点参数说明masterSourceInitWaitTimeout参数说明:PropertyValue参数值masterSourceInitWaitTimeout是否可见否参数说明启动时数据节点中主存储节点初始化超时时间默认值300最小值0最大值600Reload是否生效是参数作用:启动时,主存储......
  • hhdb数据库介绍(9-27)
    计算节点参数说明ndbSqlAddr&ndbSqlUser&ndbSqlPass参数说明:PropertyValue参数值ndbSqlAddr是否可见是参数说明NDBSQL端IP地址默认值localhost:3329Reload是否生效否PropertyValue参数值ndbSqlUser是否可见是参数说明NDB......
  • hhdb数据库介绍(9-19)
    Oracle兼容性说明数据类型兼容本节主要介绍HHDBServer与Oracle数据库中数据类型的详细兼容对比信息。比较项Oracle数据库数据类型HHDBServer数据类型对应项/替代项字符串/字符VARCHAR2(n)VARCHAR(n)字符串/字符NVARCHAR2(n)VARCHAR(n)character......
  • hhdb数据库介绍(9-20)
    计算节点参数说明计算节点使用过程中,维护了许多系统配置参数,本文描述这些参数如何使用以及对功能带来什么影响。每个参数都有一个默认值,可以在服务启动时在server.xml配置文件中修改,也可以登录管理平台在参数配置页面进行修改。这些参数大多数可以在运行时使用动态加载(reload@@c......
  • hhdb数据库介绍(9-21)
    计算节点参数说明checkClusterBeforeDnSwitch参数说明:PropertyValue参数值checkClusterBeforeDnSwitch是否可见否参数说明集群模式下触发数据节点高可用切换时,是否先判断集群所有成员正常再进行数据节点切换默认值falseReload是否生效是参数设置......
  • hhdb数据库介绍(9-22)
    计算节点特殊说明dataNodeIdleCheckPeriod参数说明:PropertyValue参数值dataNodeIdleCheckPeriod是否可见是参数说明数据节点默认空闲检查时间(秒)默认值120最小值1最大值3600Reload是否生效Y参数设置:<propertyname="dataNodeIdleCheckPe......
  • hhdb数据库介绍(9-23)
    计算节点参数说明enableCursor参数说明:PropertyValue参数值enableCursor是否可见是参数说明是否允许PREPARE语句通过CURSOR获取数据默认值falseReload是否生效是参数设置:server.xml的enableCursor参数:<propertyname="enableCursor">false</pr......
  • hhdb数据库介绍(9-24)
    计算节点参数说明failoverAutoresetslave参数说明:PropertyValue参数值failoverAutoresetslave是否可见是参数说明故障切换时,是否自动重置主从复制关系默认值falseReload是否生效否参数设置:<propertyname="failoverAutoresetslave">false</prop......
  • 小记 ?—2024.11.29
    上一次写小记已是很久之前的事了。记得那篇小记被同学瞥见后,我还被调侃了许久。彼时的我,只是随手记录,却未曾想会有这样的波澜。这次写小记的念头,其实周三(2024.11.27)就萌生了。只是,拖延成了惯性,一直到今天(2024.11.29),才终于动笔。尽管早已在心中勾勒了无数遍,但提笔时依然不知从何落......