后台节点管理接口
设置data-node节点系统变量
| 存储过程 | mysql.greatdb_set_var_for_datanode |
|---|---|
| 作用 | 在 sqlnode 节点,可以通过调用存储过程 ,直接修改后端 datanode 节点的系统变量值 |
| 参数 | datanode_name: 需要修改的数据节点名称,当为"*"时表示设置所有datanode的变量 variable_name:需要修改的变量名称 value:修改的变量值 persist:是否需要将变量修改进行持久化,如果设置为 true,则数据节点重启后,修改仍生效;否则,数据节点重启后,结果为修改前的值 |
| 版本 | 5.0.8 |
示例:
> SELECT * FROM INFORMATION_SCHEMA.GREATDB_DATANODE_VARIABLES
WHERE VARIABLE_NAME='max_connections';
+----------+-----------------+-------+
| DATANODE | VARIABLE_NAME | VALUE |
+----------+-----------------+-------+
| n1 | max_connections | 10000 |
| n2 | max_connections | 10000 |
| n3 | max_connections | 10000 |
+----------+-----------------+-------+
3 rows in set (0.07 sec)
> CALL mysql.greatdb_set_var_for_datanode('n1', 'max_connections', 5000, 0);
Query OK, 1 row affected (0.06 sec)
> SELECT * FROM INFORMATION_SCHEMA.GREATDB_DATANODE_VARIABLES
WHERE VARIABLE_NAME='max_connections';
+----------+-----------------+-------+
| DATANODE | VARIABLE_NAME | VALUE |
+----------+-----------------+-------+
| n1 | max_connections | 5000 |
| n2 | max_connections | 10000 |
| n3 | max_connections | 10000 |
+----------+-----------------+-------+
3 rows in set (0.05 sec)
该操作仅支持修改部分的系统变量值,当前支持修改的系统变量如下:
| 变量名 | 是否全局立即生效 | 是否自动刷新 sn-dn连接池连接 |
|---|---|---|
| binlog_expire_logs_seconds | 1 | 0 |
| general_log | 1 | 0 |
| group_replication_applier_batch_size_threshold | 1 | 0 |
| group_replication_clone_threshold | 1 | 0 |
| group_replication_ip_allowlist | 1 | 0 |
| group_replication_ip_whitelist | 1 | 0 |
| group_replication_member_weight | 1 | 0 |
| group_replication_transaction_size_limit | 1 | 0 |
| group_replication_unreachable_majority_timeout | 1 | 0 |
| innodb_buffer_pool_size | 1 | 0 |
| innodb_change_buffering | 1 | 0 |
| innodb_doublewrite | 1 | 0 |
| innodb_flush_log_at_trx_commit | 1 | 0 |
| innodb_spin_wait_delay | 1 | 0 |
| innodb_sync_spin_loops | 1 | 0 |
| innodb_thread_concurrency | 1 | 0 |
| interactive_timeout | 0 | 1 |
| join_buffer_size | 0 | 0 |
| long_query_time | 0 | 0 |
| max_binlog_cache_size | 1 | 0 |
| max_connections | 1 | 0 |
| max_prepared_stmt_count | 1 | 0 |
| net_keep_alive_interval | 0 | 1 |
| net_keep_alive_probes | 0 | 1 |
| net_keep_alive_timeout | 0 | 1 |
| net_keep_alive_user_timeout | 0 | 1 |
| net_write_timeout | 0 | 1 |
| replica_parallel_workers | 0 | 0 |
| slave_parallel_workers | 0 | 0 |
| sort_buffer_size | 0 | 0 |
| sync_binlog | 1 | 0 |
| table_definition_cache | 1 | 0 |
| table_open_cache | 1 | 0 |
| transaction_isolation | 0 | 1 |
| wait_timeout | 0 | 1 |
如果用户需要修改之外的系统变量,需要直连到后端节点进行操作,或参考拓展可设置的sqlnode/datanode变量。
注:需要特别注意的是,由于集群可以多机房部署,且机房本身包含权重信息。因此,设置group_replication_member_weight后,实际的结果和用户设置的值是有出入的。具体的换算为 r = (m_zone_elect_weight * 10) + v / 10。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




