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;
标签:8.0,存储,SET,17,SHOW,数据库,支持,hhdb,节点
From: https://www.cnblogs.com/henghuixinda/p/18576161