mysql集群简单的配置

mysql-cluster的简单配置,也没有想象中的那么高端复杂,通过一些大神的帖子指点,我也有所尝试,现将配置步骤记录如下,仅供入门学习参考。

一、系统环境:Linux Debian 8.1;

  mysql-cluster 版本:mysql-cluster-gpl-7.4.20-linux-glibc2.12-x86_64.tar.gz。

  准备3台服务器:192.168.0.4(管理节点);192.168.0.5(数据节点+SQL节点);192.168.0.6(数据节点+SQL节点);

二、将mysql-cluster-gpl-7.4.20-linux-glibc2.12-x86_64.tar.gz分别上传至以上3台服务器上,并解压至 /usr/目录下;重命名文件夹为:mysql-cluster。

三、配置管理节点192.168.0.4:

  1、进入刚才解压的目录中:cd /usr/mysql-cluster;

  2、新建管理节点配置文件:vim config.ini;输入一下内容,保存并且退出:

[ndbd default]
NoOfReplicas=2
MaxNoOfTables=1024
MaxNoOfUniqueHashIndexes=1024
MaxNoOfOrderedIndexes=1024
MaxNoOfAttributes=10000

[ndb_mgmd]
nodeid=1
HostName=192.168.0.4
DataDir=/usr/mysql-cluster/data

[ndbd]
nodeid=2
HostName=192.168.0.5
DataDir=/usr/mysql-cluster/data

[ndbd]
nodeid=3
HostName=192.168.0.6
DataDir=/usr/mysql-cluster/data

[mysqld]
nodeid=4
HostName=192.168.0.5

[mysqld]
nodeid=5
HostName=192.168.0.6

  

四、分别配置数据节点和SQL节点(192.168.0.5;192.168.0.6):

  1、进入刚才解压的目录中:cd /usr/mysql-cluster;

  2、新建配置文件:vim my.cnf;输入一下内容,保存并且退出:

[mysqld]
character_set_server=utf8
basedir=/usr/mysql-cluster
datadir=/usr/mysql-cluster/data
ndbcluster
ndb-connectstring=192.168.0.4
user=root

[mysql_cluster]
ndb-connectstring=192.168.0.4

  (注:在192.168.0.5和192.168.0.6两台服务器上都必须要执行上面1、2两小步的操作。)

五、这样一来,一个简单的集群配置就完成了,接下来就是依次启动各个节点:

  1、启动管理节点(192.168.0.4):cd /usr/mysql-cluster; 输入命令:

  bin/ndb_mgmd --config-file=/usr/mysql-cluster/config.ini --configdir=/usr/mysql-cluster

 

  2、查看管理节点启动信息(看到如下信息即启动成功):输入命令:bin/ndb_mgm -e show

Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]	2 node(s)
id=2 (not connected, accepting connect from 192.168.0.5)
id=3 (not connected, accepting connect from 192.168.0.6)

[ndb_mgmd(MGM)]	1 node(s)
id=1	@192.168.0.4  (mysql-5.6.40 ndb-7.4.20)

[mysqld(API)]	2 node(s)
id=4 (not connected, accepting connect from 192.168.0.5)
id=5 (not connected, accepting connect from 192.168.0.6)

 

  3、启动数据节点(192.168.0.5,192.168.0.6两台服务器上都要执行)

 

    3.1、首先需要初始化数据库:cd /usr/mysql-cluster;输入命令:scripts/mysql_install_db --basedir=/usr/mysql-cluster --datadir=/usr/mysql-cluster/data

    (此过程中如果提示 libaio.so 类似的错误,则需要先执行: apt-get install libaio-dev 命令,之后再执行初始化数据库的命令)

    3.2、启动数据节点:cd /usr/mysql-cluster;输入命令:bin/ndbd --defaults-file=my.cnf --initial(注:第一次启动要加上--initial,以后启动不需要)。

    启动完成后,可在管理节点(192.168.0.4服务器)上执行:bin/ndb_mgm -e show命令查看启动情况(看到如下信息,则说明数据节点启动成功)。

Cluster Configuration
---------------------
[ndbd(NDB)]	2 node(s)
id=2	@192.168.0.5  (mysql-5.6.40 ndb-7.4.20, Nodegroup: 0)
id=3	@192.168.0.6  (mysql-5.6.40 ndb-7.4.20, Nodegroup: 0, *)

[ndb_mgmd(MGM)]	1 node(s)
id=1	@192.168.0.4  (mysql-5.6.40 ndb-7.4.20)

[mysqld(API)]	2 node(s)
id=4 (not connected, accepting connect from 192.168.0.5)
id=5 (not connected, accepting connect from 192.168.0.6)

  4、最后启动SQL节点(192.168.0.5,192.168.0.6两台服务器上都要执行)

    cd /usr/mysql-cluster;输入命令:bin/mysqld_safe --defaults-file=my.cnf &(注:& 符号表示该进程可在后台运行)。

  启动完成后,可在管理节点(192.168.0.4服务器)上执行:bin/ndb_mgm -e show命令查看启动情况(看到如下信息,则说明数据节点启动成功)。

Cluster Configuration
---------------------
[ndbd(NDB)]	2 node(s)
id=2	@192.168.0.5  (mysql-5.6.40 ndb-7.4.20, Nodegroup: 0, *)
id=3	@192.168.0.6  (mysql-5.6.40 ndb-7.4.20, Nodegroup: 0)

[ndb_mgmd(MGM)]	1 node(s)
id=1	@192.168.0.4  (mysql-5.6.40 ndb-7.4.20)

[mysqld(API)]	2 node(s)
id=4	@192.168.0.5  (mysql-5.6.40 ndb-7.4.20)
id=5	@192.168.0.6  (mysql-5.6.40 ndb-7.4.20)

  至此,节点全部启动成功!接下来就是检测配置的正确性了。

六、检测集群配置的正确性(192.168.0.5和192.168.0.6两台服务器上执行):

  1、修改mysql 的root 密码:在上面初始化数据库步骤中,根据提示修改mysql 的root 密码:cd /usr/mysql-cluster;输入命令:

    ./bin/mysqladmin -u root password 'xxx'。

  2、登录数据库,并且建表测试:cd /usr/mysql-cluster;输入命令:./bin/mysql -u root -p; 输入刚设置的密码进入mysql。

    建表(在192.168.0.5上操作):

create table test_cluster(
 id mediumint unsigned not null auto_increment primary key,
 name varchar(20) not null default ''
 ) engine = ndbcluster default charset utf8;
 insert into test_clustervalues(1, 'a');
 insert into test_clustervalues(2, 'b');

    查询数据:(192.168.0.6上操作)select * from test_cluster,如果能查到2条数据,则表示集群配置成功!

注:建表时必须要指明:engine = ndbcluster。

 


posted @ 2018-06-04 16:23  xgmn  阅读(354)  评论(0)    收藏  举报