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

hhdb数据库介绍(9-23)

时间:2024-11-29 11:22:43浏览次数:11  
标签:NULL false 23 数据库 参数 10.10 hhdb db01 节点

计算节点参数说明

enableCursor

参数说明:

Property Value
参数值 enableCursor
是否可见
参数说明 是否允许PREPARE语句通过CURSOR获取数据
默认值 false
Reload是否生效

参数设置:
server.xml的enableCursor参数:

<property name="enableCursor">false</property>

参数作用:
是否允许PREPARE通过游标获取数据内容(jdbcURl:useCursorFetch=true)。

enableFlowControl

参数说明:

Property Value
参数值 enableFlowControl
是否可见
参数说明 是否开启存储节点流控
默认值 False
Reload是否生效 Y

参数作用:
默认开启,开启后将智能控制后端流量,可以控制存储节点的压力,使存储节点在最佳状态下运行。通过管理端show @@datasource查看流控状态flow_control。

mysql> show @@datasource;

+----+----+-----------------------+------+--------+-------------+------+--------------+--------+------+------+--------------------+--------------+--------+-------------+-----------------+
| dn | ds | name                  | type | status | host        | port | schema       | active | idle | size | unavailable_reason | flow_control | idc_id | listener_id | listener_status |
+----+----+-----------------------+------+--------+-------------+------+--------------+--------+------+------+--------------------+--------------+--------+-------------+-----------------+
| 17 | 17 | 10.10.0.140_3313_db01 | 1    | 1      | 10.10.0.140 | 3313 | db01         | 0      | 45   | 45   | NULL               | 0/64         | 1      | 8           | 1               |
| 16 | 16 | 10.10.0.140_3312_db01 | 1    | 1      | 10.10.0.140 | 3312 | db01         | 0      | 47   | 47   | NULL               | 0/64         | 1      | 7           | 1               |
| 19 | 19 | 10.10.0.155_3311_db01 | 1    | 1      | 10.10.0.155 | 3311 | db01         | 0      | 49   | 49   | NULL               | 0/64         | 1      | 10          | 1               |
| 18 | 18 | 10.10.0.155_3310_db01 | 1    | 1      | 10.10.0.155 | 3310 | db01         | 0      | 53   | 53   | NULL               | 0/64         | 1      | 9           | 1               |
| 21 | 21 | 10.10.0.155_3313_db01 | 1    | 1      | 10.10.0.155 | 3313 | db01         | 0      | 55   | 55   | NULL               | 0/64         | 1      | 12          | 1               |
| 20 | 20 | 10.10.0.155_3312_db01 | 1    | 1      | 10.10.0.155 | 3312 | db01         | 0      | 47   | 47   | NULL               | 0/64         | 1      | 11          | 1               |
| 10 | 10 | 10.10.0.125_3310_db01 | 1    | 1      | 10.10.0.125 | 3310 | db01         | 0      | 44   | 44   | NULL               | 0/64         | 1      | 1           | 1               |
| 11 | 11 | 10.10.0.125_3311_db01 | 1    | 1      | 10.10.0.125 | 3311 | db01         | 0      | 43   | 43   | NULL               | 0/64         | 1      | 2           | 1               |
| 12 | 12 | 10.10.0.125_3312_db01 | 1    | 1      | 10.10.0.125 | 3312 | db01         | 0      | 44   | 44   | NULL               | 0/64         | 1      | 3           | 1               |
| 13 | 13 | 10.10.0.125_3313_db01 | 1    | 1      | 10.10.0.125 | 3313 | db01         | 0      | 48   | 48   | NULL               | 0/64         | 1      | 4           | 1               |
| 14 | 14 | 10.10.0.140_3310_db01 | 1    | 1      | 10.10.0.140 | 3310 | db01         | 0      | 44   | 44   | NULL               | 0/64         | 1      | 5           | 1               |
| 15 | 15 | 10.10.0.140_3311_db01 | 1    | 1      | 10.10.0.140 | 3311 | db01         | 0      | 62   | 62   | NULL               | 0/64         | 1      | 6           | 1               |
| -1 | -1 | configDatasource      | 1    | 1      | 10.10.0.121 | 3306 | hotdb_config | 1      | 11   | 12   | NULL               | N/A          | -1     | 0           | 1               |
+----+----+-----------------------+------+--------+-------------+------+--------------+--------+------+------+--------------------+--------------+--------+-------------+-----------------+

注意
存储节点流控是计算节点内部控制算法。

enableHeartbeat & heartbeatPeriod & heartbeatTimeoutMs

参数说明:

Property Value
参数值 enableHeartbeat
是否可见
参数说明 是否启用心跳,是:true,否:false
默认值 true
Reload是否生效 Y
Property Value
参数值 heartbeatPeriod
是否可见
参数说明 心跳周期(秒)
默认值 2
最大值 60
最小值 1
Reload是否生效 Y
Property Value
参数值 heartbeatTimeoutMs
是否可见
参数说明 心跳超时时间(毫秒)
默认值 500
最大值 10000
最小值 100
Reload是否生效 Y

enableHeartbeat设置是否启用心跳检测。heartbeatPeriod设置心跳检测周期,默认值为2s,即心跳定时检测每2秒执行一次。heartbeatTimeoutMs设置心跳超时时间,默认值为500ms。

参数作用:
检测存储节点是否可用及是否存在共用的情况。

启用心跳检测后,会根据心跳检测周期去检测存储节点是否正常。当网络不可达或存储节点故障时,存在备存储节点且配置了切换规则的情况下,会切换到备存储节点,主存储节点会被置为不可用;存储节点切换逻辑请参考管理平台文档。

当一个存储节点同时被多个计算节点服务使用时,计算节点通过日志提示:there's another HotDB using this datasource...restart heartbeat. 不启用心跳检测的情况下,则数据节点/配置库高可用无法实现,无法进行故障切换,无法检测出存储节点共用等情况。

心跳超时时间:心跳开启的情况下,出现存储节点故障或心跳操作执行过慢超出阈值,会有日志heartbeat time out输出:

2018-05-29 16:32:52.924 [WARN] [HEARTBEAT] [HeartbeatTimer] a(-1) -- Datasource:-1 128.0.0.1:3306/hotdb_config time out! Last packet sent at:2018-05-29 04:32:49:886...省略...

注意
若当前存储节点为数据节点最后一个存储节点,存储节点不会置为不可用。且会尝试一直连接;若为纯备存储节点,即使心跳失败次数已经超过阈值,只要心跳检测时能够连接存储节点成功就不标记为不可用。

enableLatencyCheck & latencyCheckPeriod

参数说明:

Property Value
参数值 enableLatencyCheck
是否可见
参数说明 是否开启主从延迟检测
默认值 true
Reload是否生效 Y
Property Value
参数值 latencyCheckPeriod
是否可见
参数说明 主从延迟检测周期(ms)
默认值 500
最大值 1000
最小值 100
Reload是否生效 Y

设置主从延迟检测周期,默认值为500ms,即定时检测每500ms秒执行一次主从延迟检测。

参数作用:
延迟检测依赖于心跳表。启用主从延迟检测,检测从库是否存在复制延迟,是否同步追上复制。此参数在存储节点/配置库切换时、计算节点启动时具有一定影响作用,例如,在存储节点故障切换之前要进行主从延迟校验(前提是需要配置故障切换规则,若没有配置切换规则,则不会进行主备存储节点之间的切换以及主从延迟校验),请参考管理平台文档。

登录管理端口,使用show @@latency; 可以查看主从延迟时间。

mysql> show @@latency;
+-----+----------------------------+----------------------------+---------+
| dn  | info                       | backup_info                | latency |
+-----+----------------------------+----------------------------+---------+
| 186 | 192.168.210.68:3307/db252  | 192.168.210.68:3308/db252  | 501 ms  |
| 4   | 192.168.210.43:3308/db252  | 192.168.210.44:3308/db252  | 0 ms    |
| 190 | 192.168.200.191:3307/db252 | 192.168.200.190:3307/db252 | 0 ms    |
| 191 | 192.168.200.191:3308/db252 | 192.168.200.190:3308/db252 | 0 ms    |
| 127 | 192.168.210.41:3308/db252  | 192.168.210.42:3308/db252  | STOPPED |
+-----+----------------------------+----------------------------+---------+
5 rows in set (0.02 sec)

enableListener

参数说明:

Property Value
参数值 enableListener
是否可见
参数说明 启用监听模式
默认值 false
Reload是否生效

参数设置:

<property name="enableListener">false</property><!--启用Listener模式(Enable Listener mode or not)-->

参数作用:
监听程序是计算节点一个可拔插组件,开启后可解决集群强一致模式下的性能线性扩展问题。要使用监听程序需满足:计算节点是多节点集群模式并开启XA、在存储节点服务器上成功部署监听程序并启用enableListener参数。执行动态加载,在计算节点管理端执行以下命令可通过listener_status一列查看是否识别成功以及监听程序的实时状态。

mysql> show @@datasource;
+----+----+-----------------------+------+--------+-------------+------+--------------+--------+------+------+--------------------+--------------+--------+-------------+-----------------+
| dn | ds | name                  | type | status | host        | port | schema       | active | idle | size | unavailable_reason | flow_control | idc_id | listener_id | listener_status |
+----+----+-----------------------+------+--------+-------------+------+--------------+--------+------+------+--------------------+--------------+--------+-------------+-----------------+
| 17 | 17 | 10.10.0.140_3313_db01 | 1    | 1      | 10.10.0.140 | 3313 | db01         | 0      | 45   | 45   | NULL               | 0/64         | 1      | 8           | 1               |
| 16 | 16 | 10.10.0.140_3312_db01 | 1    | 1      | 10.10.0.140 | 3312 | db01         | 0      | 47   | 47   | NULL               | 0/64         | 1      | 7           | 1               |
| 19 | 19 | 10.10.0.155_3311_db01 | 1    | 1      | 10.10.0.155 | 3311 | db01         | 0      | 49   | 49   | NULL               | 0/64         | 1      | 10          | 1               |
| 18 | 18 | 10.10.0.155_3310_db01 | 1    | 1      | 10.10.0.155 | 3310 | db01         | 0      | 53   | 53   | NULL               | 0/64         | 1      | 9           | 1               |
| 21 | 21 | 10.10.0.155_3313_db01 | 1    | 1      | 10.10.0.155 | 3313 | db01         | 0      | 55   | 55   | NULL               | 0/64         | 1      | 12          | 1               |
| 20 | 20 | 10.10.0.155_3312_db01 | 1    | 1      | 10.10.0.155 | 3312 | db01         | 0      | 47   | 47   | NULL               | 0/64         | 1      | 11          | 1               |
| 10 | 10 | 10.10.0.125_3310_db01 | 1    | 1      | 10.10.0.125 | 3310 | db01         | 0      | 44   | 44   | NULL               | 0/64         | 1      | 1           | 1               |
| 11 | 11 | 10.10.0.125_3311_db01 | 1    | 1      | 10.10.0.125 | 3311 | db01         | 0      | 43   | 43   | NULL               | 0/64         | 1      | 2           | 1               |
| 12 | 12 | 10.10.0.125_3312_db01 | 1    | 1      | 10.10.0.125 | 3312 | db01         | 0      | 44   | 44   | NULL               | 0/64         | 1      | 3           | 1               |
| 13 | 13 | 10.10.0.125_3313_db01 | 1    | 1      | 10.10.0.125 | 3313 | db01         | 0      | 48   | 48   | NULL               | 0/64         | 1      | 4           | 1               |
| 14 | 14 | 10.10.0.140_3310_db01 | 1    | 1      | 10.10.0.140 | 3310 | db01         | 0      | 44   | 44   | NULL               | 0/64         | 1      | 5           | 1               |
| 15 | 15 | 10.10.0.140_3311_db01 | 1    | 1      | 10.10.0.140 | 3311 | db01         | 0      | 62   | 62   | NULL               | 0/64         | 1      | 6           | 1               |
| -1 | -1 | configDatasource      | 1    | 1      | 10.10.0.121 | 3306 | hotdb_config | 1      | 11   | 12   | NULL               | N/A          | -1     | 0           | 1               |
+----+----+-----------------------+------+--------+-------------+------+--------------+--------+------+------+--------------------+--------------+--------+-------------+-----------------+
13 rows in set (0.00 sec)

注意
listener_status为1,代表监听程序可用;listener_status为0,代表监听程序不可用

enableOracleFunction

参数说明:

Property Value
参数值 enableOracleFunction
是否可见
参数说明 是否优先解析oracle函数
默认值 false
最大值 /
最小值 /
Reload是否生效

参数设置:
enableOracleFunction属隐藏参数,若要开启,需添加到server.xml中。参数默认值false,如下配置:

<property name="enableOracleFunction">false</property><!-- 是否优先解析oracle函数(support oracle function or not) -->

参数作用:
此参数控制Oracle数据迁移至计算节点服务时,是否优先按Oracle语法解析SQL,降低迁移成本。该开关开启时,对所有用户生效;该开关关闭时,按用户单独配置的开关控制是否优先解析Oracle语法。同时支持Oracle的sequence对象及其相关功能。当该参数开启时优先按Oracle模式进行解析处理,不开启则按MySQL模式解析处理

Oracle支持而MySQL不支持的函数,部分支持改写。

设置为true时,Oracle函数解析识别支持改写,执行成功。示例:

mysql> select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;
+------------------------------------------+
| to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') |
+------------------------------------------+
| 2020-09-24 17:09:30                      |
+------------------------------------------+
1 row in set (0.01 sec)

设置为false时,对于MySQL不支持的函数报不支持或函数不存在

mysql> select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;

ERROR 1305 (42000): FUNCTION db256_01.TO_CHAR does not exist

设置为true时,sequence相关能执行成功。示例:

mysql> create sequence sequence_test
    -> minvalue 1
    -> maxvalue 1000
    -> start with 1
    -> increment by 10;
    Query OK, 1 row affected (0.04 sec)

设置为false时,当前是提示语法错误:

mysql> create sequence sequence_256
    -> minvalue 1
    -> maxvalue 1000
    -> start with 1
    -> increment by 10;
ERROR 10010 (HY000): expect VIEW. lexer state: token=IDENTIFIER, sqlLeft=sequence_256

enableSleep

参数说明:

Property Value
参数值 enableSleep
是否可见
参数说明 是否允许SLEEP函数
默认值 false
Reload是否生效

参数设置:

<property name="enableSleep">false</property><!-- 是否允许SLEEP函数,是:true,否:false -->

参数作用:
用于设置计算节点是否允许sleep函数执行。

不允许sleep 函数:

mysql> select sleep(2);

ERROR 1064 (HY000): forbidden function:SLEEP, go check your config file to enable it.

允许执行sleep 函数:

mysql> select sleep(2);
+----------+
| sleep(2) |
+----------+
| 0        |
+----------+
1 row in set (2.00 sec)

enableSSL

参数说明:

Property Value
参数值 enableSSL
是否可见
参数说明 是否开启SSL连接功能
默认值 false
Reload是否生效

参数设置:

<property name="enableSSL">false</property><!-- 是否开启SSL连接功能,是:true,否:false -->

参数作用:
用于设置计算节点是否允许使用SSL安全认证方式连接,具体可参考TLS连接登录章节描述,并配合keyStore、keyStorePass参数一起使用。

enableSubquery

参数说明:

Property Value
参数值 enableSubquery
是否可见
参数说明 是否允许特殊场景下的子查询通过
默认值 true
Reload是否生效

参数作用:
是否允许子查询里的表为分片表,该参数默认开启,且可以支持更多场景下的子查询。在此之前的版本,开启这个参数并不保证子查询的结果准确性。

当设置为false时,即表示不允许子查询里面的表是分片表,会有如下提示:

mysql> select * from test3 where id in (select id from test31);

ERROR 1064 (HY000): Unsupported table type in subquery.

当设置为true时,表示支持子查询里面的表是分片表。

mysql> select * from test3 where id in (select id from test31);
+----+---------+
| id | name    |
+----+---------+
| 5  | dfff56f |
| 7  | aa78bca |
| 15 | dfff56f |
...省略更多...

enableWatchdog

参数说明:

Property Value
参数值 enableWatchdog
是否可见
参数说明 是否开启Watchdog
默认值 False
Reload是否生效 Y

参数设置:

<property name="enableWatchdog">true</property><!-- 是否开启Watchdog -->

参数作用:
用于检测计算节点前端连接、后端连接池的异常连接及其他异常状态,检测异常后记录日志并终止连接。

可以通过tail -f hotdb.log|grep "watchdog"查看日志是否已经开启:

2018-06-01 18:26:50.983 [WARN] [WATCHDOG] [$NIOREACTOR-7-RW] watchdogTableCheckHandler(78) - Table TABLEB not found in watchdog table structure check in HotOB memory, but was found in MySQLConnection [node=i, id=18, threadId=199616, state=running, closed=false, autocommit=true, host=192.168.200.5q, port=3308, database=db249, localPort=51691, isClose:false, toBeclose:false]. You may need to contact HotDB administrator to get help.
2018-06-01 18:26:50.986 [WARN] [WATCHDOG] [$NIOREACTOR-7-RW] watchdogTableCheckHandler(78) - Table TESTB not found in watchdog table structure check in HotOB memory, but was found in MySQLConnection [node=i, id=18, threadId=199616, state=running, closed=false, autocommit=true, host=192.168.200.5q, port=3308, database=db249, localPort=51691, isClose:false, toBeclose:false]. You may need to contact HotDB administrator to get help.
2018-06-01 18:26:50.988 [WARN] [WATCHDOG] [$NIOREACTOR-7-RW] watchdogTableCheckHandler(78) - Table JOIN_DN02 not found in watchdog table structure check in HotOB memory, but was found in MySQLConnection [node=i, id=18, threadId=199616, state=running, closed=false, autocommit=true, host=192.168.200.5q, port=3308, database=db249, localPort=51691, isClose:false, toBeclose:false]. You may need to contact HotDB administrator to get help.
...省略更多...

可以通过日志查看表结构与内存中不一致检测信息:

2018-10-3118:46:44.834 [WARN] [WATCHDOG] [$NIOREACTOR-0-RW] WatchdogTableCheckHandler(85) - Table CCC is inconsistent in watchdog table structure check between HotDB memory and MySQL: MySQLConnection [node=20, id=299, threadId=3748, state=running, closed=false, autocommit=true, host=192.168.210.41. port=3310, database=rmb0l, localPort=58808, isClose:false, toBeClose:false]. You may need to contact HOtDB administrator to get help.

可以通过日志查看配置库与内存中不一致检测信息:

2018-10-31 17:45:39.617 [INFO] [WATCHDOG] [Watchdog] WatchDog(500) -- HotDB user config is inconsistent between config database and HotDB memory, Logic tables are not the same in FUN_RMB. you may need to reload HotDB config to bring into effect.

可以通过日志查看超过24小时未提交的事务检测信息:

2018-10-26 16:14:55.787 [INFO] [WATCHDOG] [$NIOREACTOR-0-RW] WatchDogLongTransactionCheckHandler(123) - Session [thread=Thread-5,id=1720,user=rmb,host=192.168.200.3,port=3323,localport=54330,schema=FUNTEST_RMB] has not been queryed for 839s. executed IUD5:[INSERT INTO rmb_cbc VALUES (tuanjian, 4000)]. binded connection:[MySQLConnection [node=11, id=1330, threadld=18085, state=borrowed, closed=false, autocommit=false, host=192.168.210.42, port=3307, database=db251, localPort=15722, isCiose:false, toBeClose:false] lastSQL:INSERT INTO rmb_cbc VALUES (tuanjian, 4000)]. innodb_trx:[(ds:11 trx_id:25765462 trx_state:RUNNING trx_started:2018-10-26 16:00:56 trx_requested_lock_id:NULL trx_wait_started:NULL trx_weight:2 trx_mysql._thread_id:18085 trx_query:NULL trx_operation_state:NULL trx_tables_in_use:0 trx_tables_locked:1 trx_lock_structs:1 trx_lock_memory_bytes:1136 trx_rows_locked:0 trx_rows_modified:1 trx_concurrency_tickets:0 trx_isolation_level:REPEATABLE READ trx_unique_checks:1 trx_foreign_key_checks:1 trx_last_foreign_key_error:NULL trx_adaptive_hash_latched:0 trx_adaptive_hash_timeout:0 trx_is_read_only:0 trx_autocommit_non_locking:0 )]. we will close this session now.

可以通过日志查看存储节点切换检测信息:

2018-10-26 19:29:01.146 [INFO] [MANAGER] [Labor-478] HotdbConfig(2164) - reload config successfully for connection:[thread=Labor-478,id=1609,user=root,host=192.168.200.2,port=3325,localport=57440.schema=null]
2018-10-26 19:30:24.384 [INFO] [FAILOVER] [$NlOExecutor-7-2] SwitchDataSource(111) - received switch datasource 24 command from Manager: [thread=$NIOExecutor-7-2,id=1609,user=root,host=192.168.200.2,port=3325,localport=57440,schema=null]
2018-10-26 19:30:24.387 [WARN] [RESPONSE] [Labor-484] InitSequenceHandler(270) - FUN_RMB.BC's sequence in Backup datasource: 25 is greater than current sequence
2018-10-26 19:30:24.387 [WARN] [RESPONSE] [Labor-474] InitSequenceHandler(270) - FUN_RMB.CBC's sequence in Backup datasource: 25 is greater than current sequence
2018-10-26 19:30:24.387 [WARN] [RESPONSE] [Labor-484] InitSequenceHandler(270) • FUN_RMB.BC's sequence in Backup datasource: 25 is greater than current sequence
2018-10-26 19:30:24.387 [WARN] [RESPONSE] [Labor-474] InitSequenceHandler(270) - FUN_RMB.CBC's sequence in Backup datasource: 25 is greater than current sequence
2018-10-26 19:30:24.407 [INFO] [FAILOVER] [Labor-464] CheckSlaveHandler(852) - DN:20(dn_rmb_01) switch datasource 24(192.168.210.41_3310_rmbol)->25(192.168.210.42_3310_rmb0l). current slave status:Slave_IO_State:Waiting for master to send event Master_Host:192.168.210.41 Master_User:hotdb_datasource Master_Port:3310 Connect_Retry:60 Master_Log_File:mysql-bin.000002 Read_Master_Log_Pos:3871570 Relay_Log_File:mysql-relay-bin.000006 Relay_Log_Pos:3871783 Relay_Master_Log_File:mysql-bin.000002 Slave_IO_Running:Yes Slave_SQL_Running:Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno:0 Last_Error: Skip_Counter:0 Exec_Master_Log_Pos:3871570 Relay_Log_Space:5058376 Until_Condition:None Until_Log_File: Until_Log_Pos:0 Master_SSL_Allowed:No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master:0 Master_SSL_Verify_Server_Cert:No Last_IO_Errno:0 Last_IO_Error: Last_SQL_Errno:0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id:210413310 Master_UUID:919cbf03-9f2d-11e8-b8af-525400636cd2 Master_Info_File:mysql.slave_master_info SQL_Delay:0 SQL_Remaining_Delay:NULL Slave_SQL_Running_State:Slave has read all relay log; waiting for more updates Master_Retry_Count:86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set:919cbf03-9f2d-11e8-b8af-525400636cd2:22735-1367727 Executed_Gtid_Set:1aef7172-9f2e-11e8-b62c-525400fcfb5b: 1-3281,919cbf03-9f2d-11e8-b8af-525400636cd2:1-1367727 Auto_Position:1 Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version:
2018-10-26 19:30:24.407 [WARN] [FAILOVER] [Labor-484] BackendDataNode(726) - datanode 20 switch datasource 24 to 25 in failover. due to: Manual Switch by User: root
2018-10-26 19:30:24.408 [INFO] [FAILOVER] [Labor-484] BackendDataNode(762) - datasource:[id:24,nodeld:20 192.168.210.41:3310/rmb0l status:1,charset:utf8mb4] will be set to unavailable due to datanode switch datasource.
2018-10-26 19:30:24.410 [INFO] [FAILOVER] [Thread-55] BackendDataNode(834) - starting updating datasource_status in failover of datanode:20
2018-10-26 19:30:24.415 [INFO] [FAILOVER] [Labor-484] SwitchDataSource(94) - switch datasource:24 for datanode:20 successfully by Manager.

enableXA

参数说明:

Property Value
参数值 enableXA
是否可见
参数说明 是否采用XA事务
默认值 False
Reload是否生效

参数作用:
XA模式指强一致模式。在关系集群数据库系统中,数据被拆分后,同一个事务会操作多个数据节点,产生跨库事务。在跨库事务中,事务被提交后,若事务在其中一个数据节点COMMIT成功,而在另一个数据节点COMMIT失败;已经完成COMMIT操作的数据节点,数据已被持久化,无法再修改;而COMMIT操作失败的数据节点,数据已丢失,导致数据节点间的数据不一致。

计算节点利用存储节点提供的外部XA事务,可解决跨库事务场景中,数据的强一致性:要么所有节点的事务都COMMIT,要么所有的节点都ROLLBACK,以及提供完全正确的SERIALIZABLE和REPEATABLE-READ隔离级别支持。

enableRownum

参数说明:

Property Value
参数值 enableRownum
是否可见
参数说明 控制是否开启rownum功能,为1时开启
默认值 0
Reload是否生效

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

<property name="enableRownum">0</property><!-- 是否支持简单的ROWNUM伪列功能(0为关闭,1为开启)(Enable ROWNUM pseudocolumn or not(0: disable, 1: enable)) -->

参数作用:
rownum用以对结果各行生成序列号。在WHERE条件中,可以对结果数量进行控制。但rownum在计算节点当前支持有限,需注意以下情况:

  • 只支持DQL语句(含水平分片表、垂直表、全局表)
  • 只能位于SELECT或WHERE后,一个SELECT子句中,只能出现一次rownum,即不支持同时使用
  • 在WHERE条件中,仅支持位于WHERE条件的最外层,并且是一个AND条件的分支,只支持rownum使用比较操作符(>、>=、<、<=、=、!=)与长整型数值比较
  • 不支持在函数内部使用
    举例说明rownum分别位于SELECT和WHERE后的使用:
SELECT * FROM (SELECT rownum,* FROM join_cross_a_cxd WHERE adnid in (101,102)) WHERE adnid=101;

在这里插入图片描述

SELECT * FROM join_cross_a_cxd a INNER JOIN join_cross_b_jwy b ON a.adnid=b.adnid WHERE rownum >= 1 ORDER BY a.id;

在这里插入图片描述

enableDropDatabase

参数说明:

Property Value
参数值 enableDropDatabase
是否可见
参数说明 是否支持Drop database语法
默认值 0
Reload是否生效

参数设置:
添加该参数后,可以在服务端口执行删库操作,参数值0为关闭,1为开启,默认关闭。当开启时,可执行DROP {DATABASE | SCHEMA} [IF EXISTS] db_name语句,其中db_name为计算节点逻辑库;当关闭时,只有当库中不存在表时,才可以执行删库操作。

<property name="enableDropDatabase">1</property><!--0为关闭,1为开启,默认关闭,当开启时,可执行DROP {DATABASE | SCHEMA} [IF EXISTS] db_name语句,其中db_name为计算节点逻辑库-->

errorsPermittedInTransaction

参数说明:

Property Value
参数值 errorsPermittedInTransaction
是否可见
参数说明 事务中是否允许出现错误
默认值 true
Reload是否生效

参数作用:
在设置为False时,事务中执行SQL,存储节点返回错误后事务不再允许继续进行操作,只能进行回滚。所有可能导致事务提交的操作也都会造成该事务的回滚。设置为True时,则即使事务中曾有报错,也可以提交。

设置为False时,当存储节点返回错误时,会有如下提示:

mysql> begin;

Query OK, 0 rows affected (0.00 sec)

mysql> insert into autoi values(null,'aa');

Query OK, 1 row affected (0.00 sec)

mysql> select * from autoi;

ERROR 1146 (HY000): Table 'db249.autoi' doesn't exist

mysql> select * from autoi where id=1;

ERROR 1003 (HY000): errors occurred in transaction, you need to rollback now

mysql> commit;

Query OK, 0 rows affected (0.00 sec)

mysql> select * from autoi where id=1;

Empty set (0.00 sec)

设置为true时,事务内出现错误,事务仍然可以提交成功。

mysql> begin;

Query OK, 0 rows affected (0.00 sec)

mysql> insert into autoi values(null,'aa');

Query OK, 1 row affected (0.00 sec)

mysql> select * from ss;

ERROR 1146 (HY000): Table 'db249.ss' doesn't exist

mysql> select * from ss where id=1;

+----+----+
| id | a  |
+----+----+
| 1  | aa |
+----+----+
1 row in set (0.01 sec)

mysql> commit;

Query OK, 0 rows affected (0.01 sec)

mysql> select * from ss where id=1;

+----+----+
| id | a  |
+----+----+
| 1  | aa |
+----+----+
1 row in set (0.01 sec)

标签:NULL,false,23,数据库,参数,10.10,hhdb,db01,节点
From: https://www.cnblogs.com/henghuixinda/p/18576196

相关文章

  • hhdb数据库介绍(9-24)
    计算节点参数说明failoverAutoresetslave参数说明:PropertyValue参数值failoverAutoresetslave是否可见是参数说明故障切换时,是否自动重置主从复制关系默认值falseReload是否生效否参数设置:<propertyname="failoverAutoresetslave">false</prop......
  • hhdb数据库介绍(9-16)
    SQL语法支持事务管理与锁语句语句类型事务语句语句参数状态说明事务管理STARTTRANSACTION无参数支持WITHCONSISTENTSNAPSHOT支持READWRITE支持READONLY支持BEGIN支持COMMIT支持COMMIT[AND[NO]CHAIN][[NO]RELE......
  • hhdb数据库介绍(9-17)
    SQL语法支持其他语句表维护语句语句类型SQL语句支持状态说明表维护语句ANALYZETABLE禁用CHECKTABLE禁用CHECKSUMTABLE禁用OPTIMIZETABLE禁用REPAIRTABLE禁用视图相关语句语句类型SQL语句支持状态说明视图相关语句......
  • hhdb数据库介绍(9-18)
    SQL语法支持计算节点语法特殊功能默认分片规则建表在使用关系集群数据库时,需要先将表的分片规则信息配置好之后才能创建表。实际使用过程中,用户可能对关系集群数据库及分片规则不了解,这就需要一种能直接过渡到HHDBServer的方案,该方案能根据逻辑库关联的分片节点数量自动对表生......
  • 23种Bootstrap导航菜单布局设计jQuery插件
    bootsnav是一款基于Bootstrap的导航菜单布局设计jquery插件。该插件集成了23种Bootstrap导航菜单效果,有下拉菜单,大型菜单,侧边栏菜单,购物车菜单等,可以满足大部分网页导航菜单设计的需求。在线演示 下载 使用方法bootsnav导航菜单的目录结构如下:bootsnav/├──cs......
  • 【数据库设计】ER图,关系属性 是属于哪个实体的
    在ER图(实体-关系图)中,关系属性通常属于**关系(Relationship)**本身,而不是某一个具体的实体(Entity)。关系属性用于描述两个或多个实体之间关系的特征或附加信息。1.关系属性的概念:关系属性是与关系(即菱形)相关的属性,而不是直接隶属于某个单独的实体。它描述的是关系本身的特......
  • 面试官:为什么数据库连接池不采用 IO 多路复用?
    今天我们聊一个不常见的Java面试题:为什么数据库连接池不采用IO多路复用?这是一个非常好的问题。IO多路复用被视为是非常好的性能助力器。但是一般我们在使用DB时,还是经常性采用c3p0,tomcatconnectionpool等技术来与DB连接,哪怕整个程序已经变成以Netty为核心。这到底......
  • 11-29大型数据库实验
    实验内容与完成情况:MySQL操作Shell命令操作sql复制代码--创建Student表CREATETABLEStudent(   NameVARCHAR(50),   EnglishINT,   MathINT,   ComputerINT); --插入数据INSERTINTOStudentVALUES('zhangsan',69,86,77),('lisi',......
  • 20222313 2024-2025-1 《网络与系统攻防技术》 实验五实验报告
    1.实验内容1.1实验要求(1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取相关信息。(2)尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所在的具体地理位置。(3)使用nmap开源软件对靶机环境进行扫描,回答以下问题并给出操作命令。(4)使用......
  • 2024-2025 20241323 第十周学习总结
    这个作业属于https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01这个作业的目标信息系统数据库与SQL人工智能与专家系统人工神经网络模拟与离散事件排队系统天气与地震模型图形图像作业正文https......