文章目录

  • 0x01、基本操作
    • ndb_mgm
    • ndb_mgm工具
  • 0x02、常见问题
    • Code:1296
      • Error 904
      • Error 851
      • Error 851
      • Error 707
    • Code:1297
      • Error 921
  • 0x03、磁盘表的创建
    • 创建LogGroup
    • 创建Tablespace
    • 查询TableSpace
    • 创建数据表

0x01、基本操作

ndb_mgm

  • show:查询集群基本信息
  • all report memoryusage:查询集群资源用量

ndb_mgm工具

  • ndb_config:/usr/local/mysql-cluster/bin/ndb_config -q 配置名称,查询mgm配置值,对应config.ini中的配合,未配置时显示系统默认。

0x02、常见问题

Code:1296

Error 904

Warning | 1296 | Got error 904 'Out of fragment records (increase MaxNoOfOrderedIndexes)' from NDB

/usr/local/mysql-cluster/bin/ndb_config -q MaxNoOfOrderedIndexes

查询一下当前值,默认为128
解决方法:修改或添加config.ini中的MaxNoOfOrderedIndexes属性的值。

Error 851

Warning | 1296 | Got error 738 'Record too big' from NDB

此错误为当前执行的SQL语句总的字段长度太长。 字段名称 类型(长度)中的所有字段长度累加(不限于累加)长度超过8k。打个比方:vat_unit_addr varchar(500),这个字段(vat_unit_addr)长度为500。
解决方法:查看自己的SQL,总长度不得超过8k,根据业务需求,适当调整字段长度,或拆分表。

Error 851

Got error 851 'Fixed-size column offset exceeded max.Use VARCHAR or COLUMN_FORMAT DYNAMIC for memory-stored columns' from NDB
引用官方论坛上的解决办法:
In this case the VARCHAR(1000) columns will all take roughly 3000 bytes if utf8 (utf8mb3) is in use, or roughly 4000 bytes if utf8mb4 is in use.
Second, we have the limitations that all fixed fields on a row must start within the first 8188 bytes.
After the URL_B64S column the offset will be over beyond 8188 bytes, if utf8mb4 is in use offset may be too high already after HTML column.
简单讲,就是单个字段的长度太长,改小长度即可。
解决办法:将超过1000长度字段改小。

Error 707

Warning | 1296 | Got error 707 'No more table metadata records (increase MaxNoOfTables)' from NDB
此错误是默认ndb单库最多支持128张表,超过将无法创建更多表。
解决方法:添加或调整config.ini中的MaxNoOfTables属性。

Code:1297

Error 921

1297 - Got temporary error 921 'Out of transaction memory in local data manager, copy tuples (increase SharedGlobalMemory)' from NDBCLUSTER
此错误是由于SharedGlobalMemory的值较小,根据需要增加即可。如果使用Navicat进行导入SQL数据,并且Set Autocommit =0的时候,SQL文件过于大时,经常出现此错误。因此,根据SQL文件的大小以及批量commit数据的大小,设置相应的值。

0x03、磁盘表的创建

当需要有大量数据灌入或交换到数据库的时候,内存表空间可能不够。那么,需要创建磁盘表保存数据,当然,性能肯定不如内存表。

创建LogGroup

mysql> create logfile group lg_dbc_1 add undofile 'undo_dbc_1.log' initial_size 1024M undo_buffer_size 128M engine ndbcluster;
Query OK, 0 rows affected (10.29 sec)

lg_dbc_1:logfile gourp名称
undo_dbc_1.log:undofile文件名
1024M:undo 初始化大小
128M :undo 缓冲区大小

创建Tablespace

mysql> create tablespace ts_dbc_1 add datafile 'ts_dbc_1.dat' use logfile group lg_dbc_1 INITIAL_SIZE 40960M ENGINE NDBCLUSTER;

ts_dbc_1:Tablespace名称
ts_dbc_1.dat: Tablespace文件名称
lg_dbc_1:LogGroup名称,写刚刚创建的LogGroup名称
40960M :初始化Tablespace容量。

设置自增长

ALTER TABLESPACE ts_dbc_1 AUTOEXTEND_SIZE = 1G;

查询TableSpace

查询表空间用量:

mysql> SELECT TABLESPACE_NAME, FILE_NAME, EXTENT_SIZE*TOTAL_EXTENTS/1024/1024 AS TOTAL_MB,EXTENT_SIZE*TOTAL_EXTENTS/1024/1024 - EXTENT_SIZE*FREE_EXTENTS/1024/1024 as USED_MB,EXTENT_SIZE*FREE_EXTENTS/1024/1024 AS FREE_MB, EXTRA FROM information_schema.FILES WHERE FILE_TYPE="DATAFILE";
+-----------------+----------------+----------------+------------+----------------+-------+
| TABLESPACE_NAME | FILE_NAME      | TOTAL_MB       | USED_MB    | FREE_MB        | EXTRA |
+-----------------+----------------+----------------+------------+----------------+-------+
| ts_dbc_1        | ./ts_dbc_1.dat | 40960.00000000 | 0.00000000 | 40960.00000000 | NULL  |
+-----------------+----------------+----------------+------------+----------------+-------+
1 row in set (0.00 sec)

查询LogFile调用量:

mysql> select * from ndbinfo.logspaces where log_type='DD-UNDO';
+---------+----------+--------+----------+------------+------+
| node_id | log_type | log_id | log_part | total      | used |
+---------+----------+--------+----------+------------+------+
|       2 | DD-UNDO  |    558 |        0 | 1072136240 |  480 |
|       3 | DD-UNDO  |    558 |        0 | 1072136240 |  480 |
+---------+----------+--------+----------+------------+------+
2 rows in set (0.35 sec)

创建数据表

CREATE TABLE `db_name`.`table_name`  (`field_1` int NOT NULL AUTO_INCREMENT,PRIMARY KEY (`id`)
) ENGINE = ndbcluster CHARACTER SET = utf8mb4 ROW_FORMAT = DYNAMIC TABLESPACE = `ts_dbc_1` storage disk;

MySQL NDB Cluster 8.0.X 错误集锦(持续更新)相关推荐

  1. MySQL NDB Cluster 搭建

    格拉德韦尔在<异数>:成功之人并非天资超人一等,而是付出了持续不断的努力.只要经过1万小时的锤炼,任何人都能从平凡变成超凡.要成为某个领域的专家,需要10000小时:如果每天工作八个小时, ...

  2. mysql ndb_mysql8 参考手册--MySQL NDB群集8.0

    MySQL NDB Cluster是适用于分布式计算环境的MySQL的高可用性,高冗余版本.最新的NDB群集发行系列使用NDB存储引擎的版本8 (也称为 NDBCLUSTER)来使多台计算机与群集中的 ...

  3. MySQL NDB Cluster部署方案与实践

    MySQL Cluster集群 一.概述 ​ MySQL Cluster是MySQL适用于分布式计算环境的高实用.高冗余版本.他采用了NDB Cluster存储引擎,允许在一个Cluster中运行多个 ...

  4. MySQL NDB Cluster使用docker compose一键部署

    本文主要用来学习MySQL NDB Cluster 解决学习过程中的痛点:需要开启N台VMware虚拟机,电脑不堪重负 使用docker部署,完美解决 本文使用的docker image: mysql ...

  5. MySQL NDB群集8.0 概述,NDB群集核心概念

    一.概述 MySQL  NDB群集是一项使无共享系统中的内存数据库得以群集的技术.无共享架构使系统可以使用非常便宜的硬件,并且对硬件或软件的特定要求最少. MySQL NDB Cluster是适用于分 ...

  6. 【MySQL】MySQL NDB Cluster安装

    MySQL集群是一个无共享的(share-nothing).分布式节点架构的存储方案,目的是提供容错性和高性能. MySQL NDB Cluster架构如图: MySQL NDB Cluster架构按 ...

  7. MySQL NDB Cluster

    1. MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署"内存中"数据库的 Cluster .通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求 ...

  8. APT安装MySQL NDB Cluster

    提醒 MySQL APT库支持在Debian和Ubuntu系统上安装MySQL NDB Cluster.因为Ubuntu 20.04或更高版本不支持mysql-cluster-community-au ...

  9. CFX计算报错和相应解决办法(浮点错误等-持续更新)

    CFX计算报错和相应解决办法(浮点错误等-持续更新) 1.CFX浮点错误 Floating point exception:Overflow 数值计算过大,浮点数位数不够,使用双精度double类型计 ...

最新文章

  1. 微软开源的自动机器学习工具上新了:NNI概览及新功能详解
  2. Noip2015普及组第四题 Salesman的解题报告
  3. 品牌才是硬道理——一线、二线主板品牌集中营品牌才是硬道理——一线、二线主板品牌集中营...
  4. python区域找图命令_python读取图片任意范围区域
  5. numpy维度交换_如何将2个不同维度的numpy数组相乘
  6. HTTP状态代码列表
  7. nlp基础—6.EM算法
  8. A N EAR -D UPLICATE D ETECTION A LGORITHM T O F ACILITATE D OCUMENT C LUSTERING——有时间看看里面的相关研究...
  9. ARM V8 SPEC B1 AArch64 Application level programer‘s Model
  10. 单片机一键开关机硬件电路
  11. 动态博弈--gyy参考总结
  12. Hystrix熔断器
  13. 经典SQL Server语句大全(超详细)
  14. 有些钱,即便不脏,但也有毒。
  15. 计算机技术在生物教学中应用,电教技术在生物课堂教学中的运用
  16. 如何注册可以群发邮件的邮箱?群发邮件怎么发送呢?
  17. c语言:购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。
  18. Android 使用Camera2 实现拍照录像的功能
  19. 有理函数在计算机中的应用,有理函数
  20. 第七章 虚拟现实技术的应用

热门文章

  1. DataFrame的数据筛选
  2. 你有值得坚持的事么?咱一块坚持吧
  3. 骨传导原理是什么,骨传导耳机优缺点
  4. 谷歌眼镜设计规范之UI设计原则
  5. 光伏发电数据监控的运维平台
  6. 女朋友可能的若干职业,您选择哪种女孩做女朋友?
  7. Tensorflow2.0学习笔记(二)
  8. matlab之text()函数
  9. vue实时显示日期时间星期几
  10. 转换插头SAA认证/CE认证/PSE认证/IEC报告/BS报告等常见认证测试标准