MySQL 集群有问题,
所有节点都很好地连接到 ndb 管理节点,但是当我尝试在其中一个节点上创建表时,它返回此错误:
mysql> 使用 foo; 数据库已更改 mysql> 创建表栏 (i int) engine=ndbcluster; 错误 1005 (HY000): 无法创建表 'foo.bar' (errno: 157)
我检查我的节点,并得到这个:
-- NDB 集群 -- 管理客户端 -- ndb_mgm> 显示 连接到管理服务器:XXXX:1186 集群配置 --------------------- [ndbd(NDB)] 1 个节点 id=2 @XXXX(版本:5.1.34,节点组:0,Master) [ndb_mgmd(MGM)] 1 个节点 id=1 @XXXX(版本:5.1.34) [mysqld(API)] 4 个节点 id=3 @XXXX(版本:5.1.34) id=4(未连接,接受来自任何主机的连接) id=5(未连接,接受来自任何主机的连接) id=6(未连接,接受来自任何主机的连接) ndb_mgm>
所以一切看起来都很好,
这是一些版本的东西。
FreeBSD my.server.com 7.1-RELEASE FreeBSD 7.1-RELEASE #0:5 月 12 日星期二 10:12:51 CAT 2009 [email protected]:/usr/obj/usr/src/sys/SEROTONIN-KERNEL i386 /usr/local/libexec/mysqld Ver 5.1.34 for portbld-freebsd7.1 on i386 (FreeBSD port: mysql-server-5.1.34) MySQL 发行版 5.1.34,用于使用 --with-ndbcluster --with-plugins=max 编译的 portbld-freebsd7.1 (i386)
任何帮助将不胜感激。
尝试重新启动集群。首先使管理节点联机,然后使服务器联机。我认为这是一个竞争条件(好吧)。让我知道这个是否奏效。
管理节点看起来不错,但您没有数据节点。您需要让 /usr/sbin/ndbd 在数据节点上正确运行......为什么它可能不在您的 my.cnf 文件中。