hhdb数据库介绍(9-17)

SQL语法支持

其他语句

表维护语句

语句类型 SQL语句 支持状态 说明
表维护语句 ANALYZE TABLE 禁用
CHECK TABLE 禁用
CHECKSUM TABLE 禁用
OPTIMIZE TABLE 禁用
REPAIR TABLE 禁用

视图相关语句

语句类型 SQL语句 支持状态 说明
视图相关语句 CREATE VIEW 支持
ALTER VIEW 支持
INSERT VIEW 不支持
UPDATE VIEW 限制支持 支持了仅查询字段的单表视图的update操作,其中有聚合函数不支持、跨库视图套视图不支持、多表多视图时不支持
DELETE VIEW 限制支持 支持了仅查询字段的单表视图的delete操作,其中有聚合函数不支持、跨库视图套视图不支持、多表多视图时不支持
SELECT VIEW 支持
DROP VIEW 支持
SHOW CREATE VIEW 支持

EVENT语句

语句类型 SQL语句 支持状态 说明
EVENT语句 CREATE EVENT 限制支持 垂直库场景下支持;不支持跨逻辑库的event;创建的event用户默认为存储节点的连接用户;未use库,create/alter/drop event均不支持
ALTER EVENT 限制支持 垂直库场景下支持
DROP EVENT 限制支持 垂直库场景下支持
SHOW EVENT 支持 显示已创建的事件信息
SHOW CREATE EVENTS 支持 查看特定时间的创建语句及详细信息

SET语句

语句类型 SQL语句 支持状态 说明
SET语句 SET GLOBAL 不支持
SET SESSION 部分支持 如:SET SESSION TRANSACTION/SET TX_READONLY/SET NAMES等
SET @@global. 不支持
SET @@session. 部分支持 例如支持设置字符集相关(连接字符集、查询结果字符集、字符集校对规则),最大连接数、是否进行外键约束等
SET @@ 不支持
SET ROLE 禁用 计算节点不支持存储节点8.0新增角色功能
用户自定义变量 支持 仅支持单库下调用
SET CHARACTER SET 支持 仅支持:CHARACTER_SET_CLIENT、CHARACTER_SET_CONNECTION、CHARACTER_SET_RESULTS
SET NAMES 支持
SET TRANSACTION ISOLATION LEVEL 支持 普通模式下支持的级别为REPEATABLE READ,READ COMMITTED,SERIALIZABLE
XA 模式只支持REPEATABLE READ、SERIALIZABLE

SHOW语句

语句类型 SQL语句 支持状态 说明
SHOW语句 SHOW BINARY LOGS 支持 返回空集
SHOW BINLOG EVENTS 支持 返回空集
SHOW CHARACTER SET 支持
SHOW COLLATION 支持
SHOW FIELDS FROM 支持
SHOW COLUMNS FROM IN tbl_name 支持
SHOW FULL COLUMNS FROM IN tbl_name 支持
SHOW CONTRIBUTORS 支持 返回空集
SHOW CREATE DATABASE 支持
SHOW CREATE EVENT 支持 查看特定时间的创建语句及详细信息
SHOW CREATE FUNCTION 支持 返回空集
SHOW CREATE PROCEDURE 支持 返回空集
SHOW CREATE TABLE 支持
SHOW CREATE TRIGGER 支持 返回空集
SHOW CREATE VIEW 支持 返回空集
SHOW DATABASES 支持
SHOW DBLINKS 支持 显示已创建的数据库
SHOW ENGINES 支持 返回空集
SHOW ERRORS 支持
SHOW EVENTS 支持 显示已创建的事件信息
SHOW FUNCTION STATUS 支持 返回空集
SHOW GRANTS 支持
SHOW INDEX FROM db_name.table_name 支持
SHOW INDEX FROM table_name WHERE... 支持
SHOW MASTER STATUS 支持 返回空集
SHOW OPEN TABLES 支持 返回空集
SHOW PLUGINS 支持 返回空集
SHOW PRIVILEGES 支持 返回空集
SHOW PROCEDURE STATUS 支持 返回空集
SHOW PROCESSLIST 支持 显示计算节点的连接情况
SHOW PROFILES 支持 返回空集
SHOW RELAYLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count] 支持 返回空集
SHOW SLAVE HOSTS 支持 返回空集
SHOW SLAVE STATUS 支持 返回空集
SHOW GLOBAL STATUS 支持
SHOW SESSION STATUS 支持
SHOW STATUS 支持
SHOW TABLE STATUS 支持
SHOW FULL TABLES 支持
SHOW TABLES 支持
SHOW TRIGGERS 支持 返回空集
SHOW GLOBAL SESSION VARIABLES 支持
SHOW WARNINGS 支持

其他管理语句

语句类型 SQL语句 支持状态 说明
其他管理语句 BINLOG 'str' 禁用
CACHE INDEX 禁用
KILL [CONNECTION QUERY] 支持
LOAD INDEX INTO CACHE 禁用
RESET MASTER 禁用
RESET QUERY CACHE 禁用
RESET SLAVE 禁用
MySQL Utility Statements DESCRIBE DESC 支持
EXPLAIN 支持 请参考EXPLAIN
EXPLAIN EXTENDED 不支持
HELP 不支持
USE 支持

KILL会同时关闭计算节点前端连接与存储节点的数据库的连接。

注意
服务端普通用户仅能KILL自己的连接,SUPER用户才能KILL其他用户的连接。

SHOW VARIABLES和SHOW STATUS

计算节点对部分variables及status的显示结果做了支持,可通过相关语法查看计算节点连接的存储节点变量信息。

无特殊处理的参数显示说明:当show_dnid=1,merge_result=0时,输出数据增加dnid一列,所有数据显示在读存储节点中的原始值;当show_dnid=1,merge_result=1时,变量值相同的存储节点会聚合为一行显示;当show_dnid=0时,没有特殊说明都是返回第一个存储节点变量值,

以下参数特殊处理,具体显示结果,见显示说明:

bianling 显示说明
BIND_ADDRESS 始终显示
TX_ISOLATION 根据server.xml中配置的隔离级别设置,默认REPEATABLE-READ,session也按照server.xml中配置显示 此参数在存储节点8.0时被移除,用transaction_isolation代替此参数
TRANSACTION_ISOLATION 存储节点8.0新增参数,用于代替tx_isolation
AUTO_INCREMENT_OFFSET 目前显示 1
CHARACTER_SET_CONNECTION 仅支持utf8/gbk/latin1/utf8mb4/gb18030字符集
CHARACTER_SET_RESULTS 仅支持utf8/gbk/latin1/utf8mb4/gb18030字符集
MAX_CONNECTIONS 按计算节点实际配置显示
MAX_USER_CONNECTIONS 按计算节点实际配置显示
MAX_JOIN_SIZE 仅支持set session max_join_size=xxx , 按照计算节点设置的值显示, global的按照server.xml中JOIN中间结果集行数参数设置
CHARACTER_SET_SERVER 仅支持utf8/gbk/latin1/utf8mb4/gb18030字符集
VERSION_COMMENT HHDB Server by Hotpu Tech
INTERACTIVE_TIMEOUT 172800
SERVER_UUID 始终显示00000000-0000-0000-0000-0000000000
TX_READ_ONLY 默认OFF, session的按照session的显示 此参数在存储节点8.0时被移除,用transaction_ready_only代替
TRANSACTION_READ_ONLY 存储节点8.0新增参数,用于代替tx_read_only
PORT 按照配置的服务端口值显示
AUTOCOMMIT 默认ON,session级别的按照session的显示
HOSTNAME 存储节点5.7,显示为计算节点服务器的主机名
COLLATION_DATABASE 仅支持utf8/gbk/latin1/utf8mb4/gb18030字符集
CHARACTER_SET_DATABASE 仅支持utf8/gbk/latin1/utf8mb4/gb18030字符集
PROTOCOL_VERSION 按照计算节点实际使用的通讯协议版本显示
READ_ONLY 按照计算节点实际使用的模式设置
VERSION 存储节点版本号-计算节点版本号,按照计算节点实际使用的显示
COLLATION_SERVER 目前仅支持:latin1_swedish_ci latin1_bin gbk_chinese_ci gbk_bin utf8_general_ci utf8_bin utf8mb4_general_ci utf8mb4_bin
SOCKET 显示空字符串
SERVER_ID 显示0
WAIT_TIMEOUT 172800
SSL_CIPHER 返回空字符串
COLLATION_CONNECTION 目前仅支持:latin1_swedish_ci latin1_bin gbk_chinese_ci gbk_bin utf8_general_ci utf8_bin utf8mb4_general_ci utf8mb4_bin
FOREIGN_KEY_CHECKS 显示ON
CHARACTER_SET_CLIENT 仅支持utf8/gbk/latin1/utf8mb4/gb18030字符集
TIME_ZONE time_zone参数为具体的相同值,或全为SYSTEM并且system_time_zone全相同的具体值。计算节点在SHOW [GLOBAL] VARIABLES时,将time_zone统一显示为+08:00这个字符串
MAX_ALLOWED_PACKET 计算节点控制,默认:64M
ADMIN_ADDRESS 始终显示空字符串,存储节点8.0新增
INNODB_BUFFER_POOL_SIZE 逻辑库下所有节点总和,主备节点按主节点算
状态名 显示说明
Compression 一律为OFF(计算节点暂不支持压缩协议)
Innodb_buffer_pool_dump_status 第一个不以not started结尾的状态,否则取逻辑库的第一个节点的值
Innodb_buffer_pool_load_status 第一个不以not started结尾的状态,否则取逻辑库的第一个节点的值
Innodb_have_atomic_builtins 如果逻辑库有一个节点为OFF则为OFF,全为ON则为ON
Innodb_page_size 取逻辑库的第一个节点的值
Innodb_row_lock_time_avg 逻辑库的所有节点取简单平均
Innodb_row_lock_time_max 逻辑库的所有节点取最大值
Last_query_cost 始终0.000000
Last_query_partial_plans 始终0
Max_used_connections 逻辑库的所有节点取最大值
Slave_heartbeat_period 逻辑库的所有节点取最大值
Slave_last_heartbeat 日期型,逻辑库的所有节点取最小值,如果全为空字符串则为空字符串
Slave_running 如果逻辑库有一个节点为OFF则为OFF,全为ON则为ON
Ssl_cipher 始终返回空字符串
Ssl_cipher_list 始终返回空字符串
Ssl_ctx_verify_depth 取逻辑库的第一个节点的值
Ssl_ctx_verify_mode 取逻辑库的第一个节点的值
Ssl_default_timeout 取逻辑库的第一个节点的值
Ssl_server_not_after 始终返回空字符串
Ssl_server_not_before 始终返回空字符串
Ssl_session_cache_mode 取逻辑库的第一个节点的值
Ssl_verify_depth 取逻辑库的第一个节点的值
Ssl_verify_mode 取逻辑库的第一个节点的值
Ssl_version 取逻辑库的第一个节点的值
Tc_log_page_size 取逻辑库的第一个节点的值
Uptime 逻辑库的所有节点取最大值
Uptime_since_flush_status 逻辑库的所有节点取最大值
Caching_sha2_password_rsa_public_key 始终显示空字符串,存储节点8.0新增
Current_tls_ca 始终显示空字符串,存储节点8.0新增
Current_tls_capath 始终显示空字符串,存储节点8.0新增
Current_tls_cert 始终显示空字符串,存储节点8.0新增
Current_tls_cipher 始终显示空字符串,存储节点8.0新增
Current_tls_ciphersuites 始终显示空字符串,存储节点8.0新增
Current_tls_crl 始终显示空字符串,存储节点8.0新增
Current_tls_crlpath 始终显示空字符串,存储节点8.0新增
Current_tls_key 始终显示空字符串,存储节点8.0新增
Current_tls_version 始终显示空字符串,存储节点8.0新增
group_replication_primary_member 始终显示空字符串,存储节点8.0新增
mecab_charset 逻辑库第一个,存储节点8.0新增
Performance_schema_session_connect_attrs_longest_seen 逻辑库取最大,存储节点8.0新增
Rpl_semi_sync_master_clients 始终显示0,存储节点8.0新增
Rpl_semi_sync_master_net_avg_wait_time 逻辑库求平均,存储节点8.0新增
Rpl_semi_sync_master_status 始终显示ON,存储节点8.0新增
Rpl_semi_sync_master_tx_avg_wait_time 逻辑库求平均,存储节点8.0新增
Rpl_semi_sync_slave_status 始终显示ON,存储节点8.0新增
Rsa_public_key 始终显示空字符串,存储节点8.0新增

CHECK TABLE TRANSACTION

查看前端未提交事务;多计算节点模式下,所有计算节点均可查看未提交事务,可在服务端执行以下语法:

CHECK TABLE [DB.TABLE_NAME1,DB.TABLE_NAME2...] TRANSACTION;

示例:
主计算节点

root@192.168.171.21:(none) 5.7.35 04:53:45> use test_db
Database changed
root@192.168.171.21:test_db 5.7.35 04:53:57> begin;
Query OK, 0 rows affected (0.00 sec)
root@192.168.171.21:test_db 5.7.35 04:54:07> insert into test_aa(id,a,b) values(21,21,1.1);
Query OK, 1 row affected (0.07 sec)

备计算节点

root@192.168.171.22:(none) 5.7.35 04:53:48> use test_db2
Database changed
root@192.168.171.22:test_db2 5.7.35 04:54:03> begin;
Query OK, 0 rows affected (0.01 sec)
root@192.168.171.22:test_db2 5.7.35 04:54:13> insert into test_z11(id,a,b) values(22,22,1.1);
Query OK, 1 row affected (0.07 sec)

集群内任意计算节点服务端命令执行结果如下:
在这里插入图片描述
命令对应列说明:

id:未提交事务连接id
user:hotdb连接用户
host:未提交事务客户端ip
trx_mysql_thread_id:事务线程id,从存储节点innodb_trx获取
trx_started:事务开始时间
trx_query:事务正在执行的sql 
lastsql:未提交事务中最后执行的sql
server_ip:发生事务的计算节点ip

注意
当SQL执行存在Warnings信息,lastsql会显示SHOW
WARNINGS;若当前SQL属跨库事务会同时返回所有数据节点内未提交的事务

也可通过服务端information_schema.innodb_trx相关字段查询未提交事务信息,其中trx_used_tables为计算节点新增字段,记录事务涉及的表信息,如下:

select trx_state,trx_started,trx_mysql_thread_id,trx_query,trx_operation_state,trx_tables_in_use,trx_tables_locked,trx_isolation_level,trx_unique_checks,trx_foreign_key_checks,trx_is_read_only,trx_used_tables from INFORMATION_SCHEMA.innodb_trx;
posted @ 2024-11-29 11:07  恒辉信达  阅读(15)  评论(0编辑  收藏  举报