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。
浙公网安备 33010602011771号