问题标签 [mysql-cluster]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - MySQL Active-Active 集群是否可以与 DRBD 一起使用?
我们将 MySQL 5.6 InnoDB 引擎用于我们的数据库目的。目前我们只有一个实例,但是随着我们的应用程序的增长,我们希望我们的数据库处于集群模式。现在我们到目前为止所做的:
我们尝试了 MySQL NDB cluster 7.3.1(实验室版):但我们仍然面临外键问题,而且它似乎不可靠。所以我们尝试了下一个选项。
我们使用 DRBD、pacemaker 和 corosync 尝试了 mysql 主动/被动集群:在两个节点上一切正常。
现在我们想做 Mysql 主动-主动集群,即使在很多谷歌之后我也找不到任何关于它的信息,我们可以用 DRBD 来做,还是有其他方法来做。
请帮忙 !!!!!
mysql - MySQL Cluster ERROR 1296 (HY000): 从 NDBCLUSTER 得到错误 157 'Unknown error code'
今天我的数据中心发生了一个断路器故障,导致我的服务器断电。我正在运行一个 4 节点 MySQL 集群。我重新启动了集群,首先是管理节点,然后是数据节点,然后在数据节点运行后,我启动了 SQL 节点。然后我用 ndb_mgm -e SHOW 检查了集群。在我尝试运行查询之前,一切似乎都很好。我得到了这个错误,
错误 1296 (HY000):从 NDBCLUSTER 收到错误 157“未知错误代码”
我检查了 MySQL 日志,没有发现任何错误。然后我尝试完全关闭并重新启动 MySQL 集群并检查关闭和启动之间的配置。一切似乎都结束了。然后我使用 NDBCLUSTER 引擎在另一个数据库上运行查询。查询成功。我试过搜索谷歌,但似乎没有人有任何帮助的答案。我检查了配置,确保 ndbd 正在数据节点上运行,等等。除了这个之外,其他数据库似乎工作正常。我有数据库的备份,但如果可能的话,我最好恢复数据库。
如果有人有任何建议或想法,将不胜感激。
提前致谢。
mysql - MySQL Cluster Error: Lock wait timeout exceeded
I was trying to load a ~200G file into MySQL cluster having 4 data nodes, and my DDL for the target table is like this:
after few minutes of loading, I received following error:
and I found some records loaded into the target table. what should I do to overcome this issue?
some of the variables values which might be helpful:
mysql - 从 mysqldump 备份导入时出现 Mysql 错误 1192
我们正在尝试通过使用 Mysqldump 进行备份然后使用 mysql 将其还原来克隆同一实例上的 Mysql Cluster (ClusterDB) 数据库,如下所示:
但是,在恢复时会引发错误:
第 112 行的错误 1192 (HY000):无法执行给定的命令,因为您有活动的锁定表或活动事务
任何帮助..?谢谢。
mysql - 基于磁盘的 mysql 集群中的 INITIAL_SIZE 和 AUTO_EXTEND
我正在尝试创建此链接中记录的基于磁盘的表。但是,并不清楚在和中选择INITIAL_SIZE
字段的大小。从阅读中,我了解到基于事务的操作是必要的。
用于定义提交日志大小。LOG FILE GROUP
TABLESPACE
LOG FILE GROUP
INITIAL_SIZE
但是,TABLESPACE
如果预先定义INITIAL_SIZE
了.dat
文件,这是否意味着 mysql 表可以具有最大INITIAL_SIZE
Mb 行。
注意:语法中存在AUTOEXTEND_SIZE
& EXTEND_SIZE
,CREATE TABLESPACE
但是,它们目前似乎被忽略了。
如果是这样,我如何在 mysql 集群上定义动态大小的磁盘表?
mysql - 为什么 MySQL 'insert into ... select ...' 比单独选择要慢得多?
我正在尝试将查询结果存储在临时表中以供进一步处理。
但是由于某种原因,插入需要一分钟,而单独的子选择只需要几秒钟。为什么将数据写入临时表而不是将其打印到我的 SQL 管理工具的输出中需要更长的时间???
更新 我的设置:具有 8 个 Debian Linux ndb 数据节点的 MySQL 7.3.2 集群 1 个 SQL 节点(Windows Server 2012)
我正在运行选择的表是 ndb 表。
我试图找出在使用“插入..”时执行计划是否会有所不同,但它们看起来是一样的:(抱歉格式化,stackoverflow 没有表格)
CREATE TABLE ... SELECT 也很慢。47 秒与 5 秒没有表插入/创建。
mysql - INSERT INTO ndbtable SELECT FROM 表在 MySQL 集群中使用了荒谬的内存量
如果我将 300,000 行从表(innodb 或 ndb)移动到 ndb 表中,如下所示:
ndb 在完成之前使用越来越多的数据内存。前/峰/后如下
如果我的数学是正确的,我插入 10293 - 5752 = 4541 = 142 MB,但内存峰值为 164013 - 5752 = 158261 = 4945 MB
此外,如果我将插入限制为 50,000 行,前后差异只有 3MB,则峰值为 780MB。
显然,当 ndb 不为空时,这将是一个问题……这里发生了什么?!
php - 缩放mysql插入的方法
我有一个 php-cli 脚本,可以在亚马逊服务器的 crontab 上进行 +200 万个 mysql 查询(使用索引的 1/2 选择语句,一对 varchar(25)、int(5) 列的 1/2 行插入)。脚本本身需要几个小时才能运行。我想把它缩短到 5 分钟左右。
我想知道如何扩大行插入以缩短时间?(该脚本本质上是一些 api 数据的 foreach 循环,因此我也在研究每次迭代分叉脚本的方法((作为一个单独的问题))
我一直在研究 mysql 集群,但对数据仓库等一无所知。有谁知道这是否是开始寻找的正确地方?像 Hive/Hadoop 这样的东西会更合适吗?
--edit 我在一个 ec2 微实例上作为上下文。我预计将需要迁移到更重的实例,但我想知道是否有任何类似 mysql 的替代品来替代普通的旧 mysql 守护进程可能会有所帮助
mysql - 启动没有--initial mysql集群的数据节点
我已经设置了一个带有基于磁盘的表的集群,有 2 个数据节点、一个 mgmt 和 2 个 sql 节点。
集群工作正常......所以我只是想测试它的 HA ,所以我在 linux 提示符下使用 KILL 命令手动杀死了一个数据节点,然后我连接到 sql 节点并将一些记录插入到表中。
然后我尝试启动我用这个命令杀死的datanode
bin/ndbd 不使用任何 --initial
当我在 managmnt 节点上看到日志时,它显示以下错误并且数据节点未启动:
/Node 3:强制节点关闭已完成。在启动阶段 5 期间发生。由错误 2355 引起:“无法恢复架构(资源配置错误)。永久性错误,需要外部行动”。
但是当我使用 --initial 它启动时,它意味着从头开始(如果我们有 100G 的话,复制所有数据文件会很耗时?)
但我希望数据节点从它停止的点开始复制记录(被杀死)
我该怎么做呢?