[root@localhost bin]# /usr/local/mysql/bin/ndb_mgm -- NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=11 @10.10.10.42 (mysql-5.6.21 ndb-7.3.7, Nodegroup: 0, *) id=12 @10.10.10.43 (mysql-5.6.21 ndb-7.3.7, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @10.10.10.41 (mysql-5.6.21 ndb-7.3.7) [mysqld(API)] 2 node(s) id=81 @10.10.10.44 (mysql-5.6.21 ndb-7.3.7) id=82 @10.10.10.45 (mysql-5.6.21 ndb-7.3.7)
如果出现某一节点未启动,会有如下效果:
[root@localhost bin]# /usr/local/mysql/bin/ndb_mgm -- NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=11 @10.10.10.42 (mysql-5.6.21 ndb-7.3.7, Nodegroup: 0, *) id=12 @10.10.10.43 (mysql-5.6.21 ndb-7.3.7, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @10.10.10.41 (mysql-5.6.21 ndb-7.3.7) [mysqld(API)] 2 node(s) id=81 @10.10.10.44 (mysql-5.6.21 ndb-7.3.7) id=82 (not connected, accepting connect from 10.10.10.45)
当我把10.10.10.45的mysql服务关闭,就会出现如下字样
(not connected, accepting connect from 10.10.10.45)
如果看过上一篇博客,就应该知道这里需要修改mysql节点上的mysql密码,这是我特意留给上一篇博客的坑,如果还没有解决,问题如下:
# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) # mysql -u root -p password 'newpassword' Enter password: mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)'
解决方案操作如下:
# /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='root' or host='localhost'; //把空的用户密码都修改成非空的密码就行了。 mysql> FLUSH PRIVILEGES; mysql> quit # /etc/init.d/mysqld restart # mysql -uroot -p Enter password: <输入新设的密码newpassword>
修改完成之后,重启mysql集群中的mysql节点。
当然这里也可以进行远程mysql可视化操作。(注意:此处可能需要进行授权。)
这一步之后就可以通过远程连接到mysql上。
创建数据库:
与没有使用 Cluster的MySQL相比,在MySQL Cluster内操作数据的方式没有太大的区别。执行这类操作时应记住两点:
1:表必须用ENGINE=NDB或ENGINE=NDBCLUSTER选项创建,或用ALTER TABLE选项更改,以使用NDB Cluster存储引擎在 Cluster内复制它们。如果使用mysqldump的输出从已有数据库导入表,可在文本编辑器中打开SQL脚本,并将该选项添加到任何表创建语句,或 用这类选项之一替换任何已有的ENGINE(或TYPE)选项。
2:另外还请记住,每个NDB表必须有一个主键。如果在创建表时用户未定义主键,NDB Cluster存储引擎将自动生成隐含的主键。(注释:该隐含 键也将占用空间,就像任何其他的表索引一样。由于没有足够的内存来容纳这些自动创建的键,出现问题并不罕见)。
CREATE DATABASE IF NOT EXISTS clusterTest2 DEFAULT CHARACTER SET 'utf8'
创建表
create table disktable( \ id int auto_increment primary key, \ c1 varchar(50) not null, \ c2 varchar(30) default null, \ c3 date default null, \ index(c1))TABLESPACE ts_cloudstore STORAGE DISK ENGINE=ndbcluster
程序猿行业技术生活交流群:181287753(指尖天下),欢迎大伙加入交流学习。