概念:node
为了简单,我后面简称mysql-cluster为mc。mysql
一、mc已经包含了mysql,我下载的最新的mc7.5,官方说明包含的是mysql版本是5.7。因此不须要使用别的msyql的安装包安装数据库。同时注意mysql5.7的版本在安装的命令和配置上面和以前的版本有很大的不一样,因此网上有不少mc7.5以前的版本,所包含的mysql版本不一样,因此安装方法不一样。linux
二、管理节点,mc管理节点负责管理、配置、监控整个集群。sql
三、数据节点,使用内存存放数据,保存进数据节点的数据都会自动复制并存储到其余数据节点。数据库
四、mysql节点,也叫数据库节点,和咱们平时使用的mysql相同,做为数据库使用。被数据节点访问。服务器
搭建:测试
1.首先下载mysql cluster,推荐使用下面的镜像,下载速度比官网快一些this
http://mirrors.sohu.com/mysql/MySQL-Cluster-7.5/rest
2.安装以前,若是以前安装过mysql,那么须要删除相应的各类mysql文件,删除以前请中止mysql服务。而且不要忘记删除my.cnf这些配置文件。确保删除干净。否则可能会和后面的安装有冲突。若是是实验,关闭防火墙,实际中,防火墙打开对应端口,{注意实际中须要使用的端口不仅有3306端口,还有同步须要使用的1186端口!!!}。保证服务器以前能互相访问,能ping通。保证固定的ip地址。保证没有别的程序占用须要使用的端口。如3306等。这些都确认完毕后再进行安装。须要linux基础的命令熟练,须要熟练安装mysql基本版本等操做,由于后序的一些操做我会简单描述,不作过多的说明了。code
3.将下载后的包上传至服务器/usr/local下
tar xvf mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz cd mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64 cp bin/ndb_mgm* /usr/local/bin cd /usr/local/bin chmod +x ndb_mgm* mkdir /var/lib/mysql-cluster. mkdir /usr/local/mysql vi /var/lib/mysql-cluster/config.ini
4.下面是配置文件,根据本身的需求修改,首先给出官网的默认配置文件,而后给出个人配置文件,根据我修改的修改便可,别的都可不动。
官网给出的是
[ndbd default] # Options affecting ndbd processes on all data nodes: NoOfReplicas=2 # Number of replicas DataMemory=80M # How much memory to allocate for data storage IndexMemory=18M # How much memory to allocate for index storage # For DataMemory and IndexMemory, we have used the # default values. Since the "world" database takes up # only about 500KB, this should be more than enough for # this example NDB Cluster setup. ServerPort=2202 # This the default value; however, you can use any # port that is free for all the hosts in the cluster # Note1: It is recommended that you do not specify the port # number at all and simply allow the default value to be used # instead # Note2: The port was formerly specified using the PortNumber # TCP parameter; this parameter is no longer available in NDB # Cluster 7.5. [ndb_mgmd] # Management process options: HostName=192.168.0.10 # Hostname or IP address of MGM node DataDir=/var/lib/mysql-cluster # Directory for MGM node log files [ndbd] # Options for data node "A": # (one [ndbd] section per data node) HostName=192.168.0.30 # Hostname or IP address NodeId=2 # Node ID for this data node DataDir=/usr/local/mysql/data # Directory for this data node's data files [ndbd] # Options for data node "B": HostName=192.168.0.40 # Hostname or IP address NodeId=3 # Node ID for this data node DataDir=/usr/local/mysql/data # Directory for this data node's data files [mysqld] # SQL node options: HostName=192.168.0.20 # Hostname or IP address # (additional mysqld connections can be # specified for this node for various # purposes such as running ndb_restore)
我本身配置的
[ndbd default] NoOfReplicas=2 DataMemory=512M IndexMemory=18M [ndb_mgmd] HostName=192.168.27.129 DataDir=/var/lib/mysql-cluster [ndbd] HostName=192.168.27.128 DataDir=/var/lib/mysql-cluster [ndbd] HostName=192.168.27.130 DataDir=/var/lib/mysql-cluster [mysqld] [mysqld]
5.使用配置文件初始化管理节点
/usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
ndb_mgm>show
(使用show命令查看管理状况,当数据节点配置完毕以后,咱们再用这个命令查看和管理)
到此为止管理节点配置完毕,接下去配置数据和sql节点
6.安装配置节点
(1).新增用户组mysql和用户msyql
groupadd mysql useradd -g mysql -s /bin/false mysql mkdir /var/lib/mysql-cluster chown root:mysql /var/lib/mysql-cluster
(2).将下载后的包上传至服务器/usr/local下
tar xvf mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz ln -s /usr/local/mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64 /usr/local/mysql
初始化数据库(这里要注意,若是你安装的版本和个人不一样,数据库初始化的命令使不一样的,不少以前的版本会使用:scripts/mysql_install_db --user=mysql来初始化,这个已经被mysql在新的版本中废弃了,因此须要使用下面的命令安装,若是你须要安装别的版本请参考mysql官网的对应版本的安装命令。)
进入刚才建立的目录下
cd /usr/local/mysql mysqld --initialize
注意 必定是进入到你的解压完的建立链接的目录下
chown -R root . chown -R mysql data chgrp -R mysql . cp support-files/mysql.server /etc/rc.d/init.d/ chmod +x /etc/rc.d/init.d/mysql.server chkconfig --add mysql.server
(3).配置数据节点
vi /etc/my.cnf
配置文件添加以下
[mysqld] ndbcluster ndb-connectstring=192.168.27.129 [mysql_cluster] ndb-connectstring=192.168.27.129
其中的IP为管理节点的IP
启动集群节点上面的服务启动mysql(成功会有success)
/etc/init.d/mysql.server start
启动mysql成功以后请本身登陆进mysql内而后进行密码修改等操做,就和正常安装完成mysql的操做同样。须要注意的是,集群数据库的密码须要相同哦!
启动ndbd# /etc/init.d/ndbd --initial若是上述不行使用绝对路径的这个:# /usr/local/mysql/bin/ndbd --initial若是出现下述现象就成功了
最后当全部的节点配置完成,回到管理节点,使用上述说过的show查看,以下的相似显示,证实已经链接完成
7.测试
修改mysql密码统一,修改mysql的访问权限,使外部ip能远程访问mysql
而后建立在一台上面建立数据库,看另外一台是否被同步,而后建立表,而后新增删除等等。
惟一须要注意的是,建立表的时候必须选择表的引擎为NDBCLUSTER,不然表不会进行同步
8.启动和关闭
启动mysql集群。启动顺序为:管理节点→数据节点→SQL节点。
启动的命令上面都有,删去--initial便可
关闭时只须要关闭管理节点,后面的数据节点会同时被关闭,mysql就和原来同样便可
管理节点关闭命令:ndb_mgm -e shutdown
(执行完成以后管理节点会关闭,数据节点也会关闭,但SQL节点不会,也就是数据库服务须要手动到每一台服务器上中止以保证数据同步)