我遇到了一个大问题,花了几个小时试图解决它。我安装、配置并运行了 mysql-cluster,但是当我想创建一个表时,出现以下问题:
create table simples (id int not null primary key) engine=ndb;
ERROR 157 (HY000): Could not connect to storage engine
我像这样更改了 my.cnf 文件:
[mysqld]
ndbcluster
ndb-connectstring=host:port
datadir=/home/user/my_cluster/mysqld_data
basedir=/home/user/mysqlc
port=5018
我再次尝试创建表,但仍然出现错误。
[my_cluster]# /home/user/mysqlc/bin/mysql -h 127.0.0.1 -P
5018 -u 根 欢迎使用 MySQL 监视器。命令以 ; 结尾或\g。 您的 MySQL 连接 ID 是 10 服务器版本:5.6.15-ndb-7.3.4-cluster-gpl MySQL Cluster Community Server (GPL)
版权所有 (c) 2000、2013,Oracle 和/或其附属公司。保留所有权利。
Oracle 是 Oracle Corporation 和/或其子公司的注册商标 附属机构。其他名称可能是其各自的商标 业主。
我还执行了此命令来检查所有引擎状态,但一切都很好:
show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
|发动机|支持|评论 |交易 | XA |保存点 | +--------------------+---------+------------------ ----------------------------------------------------------------------+--- -----------+------+------------+ | ndbcluster |是 |集群、容错表 |是 |否 |否 | | CSV |是 | CSV存储引擎|否 |否 |否 | | InnoDB |默认 |支持事务、行级锁定和外键 |是 |是 |是 | | ndb信息|是 | MySQL Cluster系统信息存储引擎|否 |否 |否 | | MRG_MYISAM |是 |相同 MyISAM 表的集合 |否 |否 |否 | | MyISAM |是 | MyISAM存储引擎|否 |否 |否 | |文件 |是 |归档存储引擎|否 |否 |否 | |黑洞 |是 |/dev/null 存储引擎(写入的任何内容都会消失)|否 |否 |否 | |性能_架构 |是 |性能架构|否 |否 |否 | |联邦|否 |联合MySQL存储引擎|空|空|空| |内存|是 |基于哈希,存储在内存中,对临时表很有用 |否 |否 |否 | +--------------------+---------+------------------ ----------------------------------------------------------------------+--- -----------+------+------------+ 一组 11 行(0.00 秒)
最佳答案
这意味着正如它所说的,一个 SQL 节点未连接到 NDB 存储引擎。可能是您弄乱了该 SQL 节点的 my.cnf 中的 ndb-connectstring。
经常出现这样的情况:有人在执行 ALTER TABLE 操作时,由于某种原因,一个或多个 SQL 节点上的架构文件已损坏或版本错误。检查 SQL 节点是否存在潜在问题是有意义的。
另一种可能性是您的防火墙存在问题。我建议您检查防火墙和/etc/hosts 表。
关于mysql - 创建表Mysql集群问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22511569/