MySQL Cluster篇07 — 系统变量

概述

本章,您将了解到 NDB Cluster 存储引擎的常见系统变量。

社区版 MySQL Server 中的系统变量

众所周知,在常规社区版的 MySQL 中,可通过以下方式查看所有系统变量:

# 查看当前会话中的所有系统变量,其中 session 关键字已被省略
MySQL > show variables;

# 对当前会话的系统变量使用模糊查询进行筛选,% 表示通配符
MySQL > show session variables like '%client';

# 查看所有的全局系统变量
MySQL > show global variables;

# 查看特定会话系统变量的值,其中 session 关键字可被忽略。查看全局系统变量的值可将 session 替换为 global
MySQL > select @@session.character_set_client;

NDB Cluster 中的系统变量

这里的系统变量仅适用于 NDB 存储引擎。

首先按照先后顺序启动各个节点:

  • 首先是管理节点(在 192.168.100.10 上 执行 ndb_mgmd --configdir=/etc/mysql-cluster/ -f /etc/mysql-cluster/config.ini 命令)
  • 然后是数据节点(在 192.168.100.12 和 192.168.100.14 上分别执行 ndbd 命令)
  • 最后是 SQL 节点(在 192.168.100.16 上执行 /usr/local/mysql/support-files/mysql.server start 命令)

前面文章 《MySQL Cluster篇03 — 部署最小化的环境》中,初始化启动的情况下,root 的临时密码为 "jp5pC(-,t40!"

在 SQL 节点的终端上登录:

Shell > /usr/local/mysql/bin/mysql -u root --password="jp5pC(-,t40!"

# 更改 root 的密码
MySQL > alter user 'root'@'localhost' identified by 'Google-,Bing500';
Query OK, 0 rows affected (0.01 sec)

MySQL > exit;

MySQL > show variables;

在 NDB 存储引擎中,系统变量同样划分为全局系统变量(Global)以及会话系统变量(Session),常见系统变量说明如下:

  • ndb_autoincrement_prefetch_sz - 确定自增列中出现间隙的概率。较高的值可使插入的速度更快,但会降低在一批插入中使用自增长编号的可能性。值类型为整数,范围为 [1,65536],默认值为 512。存在于 Global 和 Session 中
  • ndb_default_column_format - 为新创建表设置默认的 COLUMN_FORMAT 和 ROW_FORMAT,默认值为 FIXED。存在于 Global 中。
  • ndb_eventbuffer_free_percent - 设置在达到事件缓冲区最大分配内存(ndb_eventbuffer_max_alloc)后,事件缓冲区中应保留的可用内存百分比,以在重新开始缓冲之前使用。值类型为整数,范围为 [1,99],默认值为 20。存在于 Global 中
  • ndb_eventbuffer_max_alloc - 设置 NDB API 可为事件缓冲分配的最大内存(以字节 B 为单位)。默认值为 0 ,表示不设限制。存在于 Global 中
  • ndb_extra_logging - 在 MySQL 错误日志中记录特定的 NDB 存储引擎信息
  • ndb_index_stat_enable - 在对查询进行优化的过程中,是否使用 NDB 索引统计。无论此选项(变量)的值如何,索引统计表始终在服务器启动时创建。值类型为布尔,默认值为 1。存在于 Global 和 Session 中
  • ndb_index_stat_option - 此变量用于为 NDB 索引统计信息的生成提供调优选项,其值由逗号分隔的 name-value 对组成,不能包含空格。默认值为 loop_checkon=1000ms,loop_idle=1000ms,loop_busy=100ms, update_batch=1,read_batch=4,idle_batch=32,check_batch=32, check_delay=1m,delete_batch=8,clean_delay=0,error_batch=4, error_delay=1m,evict_batch=8,evict_delay=1m,cache_limit=32M, cache_lowpct=90。存在于 Global 和 Session 中
  • ndb_log_bin - 是否将 NDB 表的更新写入到二进制日志文件中。若服务器未使用 log_bin=1,则该变量的设置无效。默认值为 0。存在于 Global 和 Session 中
  • ndb_read_backup - 对于后续创建的任何 NDB 表,启用从任何片段副本读取;这样做极大地提高了表的读取性能,而对写入性能的影响相对较小。默认值为 1 。存在于 Global 中
  • ndb_use_exact_count - 是否强制 NDB 在执行 select count(*) 查询时使用记录数统计,以加速此类查询。默认值为 0 。存在于 Global 和 Session 中
  • ndb_use_transactions - 是否禁用 NDB 当中的事务支持。默认值为 1 ,通常不建议设置为 0
  • replica_allow_batching - 是否在 NDB Cluster replica 上启用批处理更新。默认值为 1 。存在于 Global 中
  • ndb_replica_batch_size - 确定复制应用线程使用的批处理大小(以字节 B 为单位)。默认值为 2097152。存在于 Global 中
  • transaction_allow_batching - 设置为 1 或 ON 时,此变量允许在同一事务中对语句进行批处理(需要首先关闭自动提交,即 autocommit=0)。默认值为 0。 存在于 Session 中

其他未提到的系统变量,参阅 这里

Avatar photo

关于 陸風睿

GNU/Linux 从业者、开源爱好者、技术钻研者,撰写文档既是兴趣也是工作内容之一。Q - "281957576";WeChat - "jiulongxiaotianci",Github - https://github.com/jimcat8
用一杯咖啡支持我们,我们的每一篇[文档]都经过实际操作和精心打磨,而不是简单地从网上复制粘贴。期间投入了大量心血,只为能够真正帮助到您。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇