mysql cluster安装部署

一、安装要求

安装环境:CentOS-6.5-32bit

软件名称:mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz

下载地址:http://mysql.mirror.kangaroot.net/Downloads/

软件包:mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz

软件包存放目录:/usr/local

管理节点(MGM):  192.168.1.71

数据节点1(NDBD1):192.168.1.72

数据节点2(NDBD2):192.168.1.73

sql节点1(SQL1):   192.168.1.74

sql节点2(SQL2):   192.168.1.75

二、安装部署

1.安装前:(所有节点服务器需执行)

[root@MGM ]#rpm -qa|grep mysql* (查询系统中存在的mysql)

[root@MGM ]#rpm -e –nodeps mysql-libs-5.1.71-1.el6.i686  (根据自己查出来的mysql版本)

2.开始部署:(所有节点服务器需执行)

[root@MGM ]#groupadd mysql

[root@MGM ]#useradd mysql -g mysql

[root@MGM ]#cd /usr/local    (软件包在此目录下,根据自己存放位置进入)

[root@MGM local]#tar -xvf mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz

[root@MGM local]#mkdir /usr/local/mysql   (创建mysql目录)

[root@MGM local]#mv mysql-cluster-gpl-7.2.25-linux2.6-i686/* mysql

[root@MGM local]#chown -R mysql:mysql mysql/

[root@MGM local]#cd mysql

[root@MGM mysql]#scripts/mysql_install_db –user=mysql  (管理及数据节点执行这条命令)

#scripts/mysql_install_db –user=mysql –datadir=/var/mysql/data   (sql节点执行这条命令)

1.jpg

三、集群配置

1.管理节点配置:

[root@MGM mysql]#mkdir /var/lib/mysql-cluster

[root@MGM ]#mkdir /var/mysql

[root@MGM ]#mkdir /var/mysql/data

[root@MGM ]#mkdit /var/mysql/log

[root@MGM mysql]#vi /var/lib/mysql-cluster/config.ini (添加以下内容)

[NDBD DEFAULT]

NoOfReplicas=2

#[TCP DEFAULT]

#PortNumber=1186

[NDB_MGMD]

#设置管理节点服务器

nodeid=1

HostName=192.168.1.71   

DataDir=/var/mysql/data

[NDBD]

nodeid=2

HostName=192.168.1.72    

DataDir=/var/mysql/data

[NDBD]

nodeid=3

HostName=192.168.1.73    

DataDir=/var/mysql/data

[MYSQLD]

nodeid=4

HostName=192.168.1.74     

[MYSQLD]

nodeid=5

HostName=192.168.1.75      

#必须有空的mysqld节点,不然数据节点断开后启动有报错

[MYSQLD]

nodeid=6

[mysqld]

nodeid=7

拷贝ndb_mgm、ndb_mgmd、config.ini到bin目录:

[root@MGM mysql]#cd /usr/local/mysql/bin

[root@MGM bin]#cp ./ndb_mgm /usr/local/bin/

[root@MGM bin]#cp ./ndb_mgmd /usr/local/bin/

[root@MGM bin]#cp /var/lib/mysql-cluster/config.ini /usr/local/bin/

[root@MGM bin]#vi /etc/sysconfig/iptables  (添加红色方框内容)

2.jpg

[root@MGM bin]/etc/init.d/iptables restart    重启防火墙

 


2.数据节点配置:(所有数据节点需执行)

[root@NDBD1 ]#mkdir /var/mysql

[root@NDBD1 ]#mkdir /var/mysql/data

[root@NDBD1 ]#mkdit /var/mysql/log

[root@NDBD1 ]#/etc/init.d/iptables stop (关闭防火墙,也可自行添加开放端口)

[root@NDBD1 ]#vi /etc/my.cnf (添加以下内容)

[mysqld]

datadir=/var/mysql/data

socket=/var/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

#运行NDB存储引擎

ndbcluster

#指定管理节点

ndb-connectstring=192.168.1.71

[MYSQL_CLUSTER]

ndb-connectstring=192.168.1.71

[NDB_MGM]

connect-string=192.168.1.71

[mysqld_safe]

log-error=/var/mysql/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

 

3.sql节点配置:(所有sql节点需执行)

[root@SQL1 ]#cd /usr/local/mysql/

[root@SQL1 mysql]#cp support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@SQL1 mysql]#chmod +x /etc/rc.d/init.d/mysqld

[root@SQL1 mysql]#chkconfig –add mysqld

[root@SQL1 mysql]#mkdir /var/mysql

[root@SQL1 mysql]#mkdir /var/mysql/data

[root@SQL1 mysql]#mkdir /var/mysql/log

[root@SQL1 mysql]#chown -R mysql:mysql /var/mysql

[root@SQL1 mysql]#ln -s /usr/local/mysql/bin/mysql /usr/bin

[root@SQL1 mysql]#ln -s /var/mysql/mysql.sock /tmp/mysql.sock

[root@SQL1 mysql]#vi /etc/my.cnf

[mysqld]

datadir=/var/mysql/data

socket=/var/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

log-bin = /var/mysql/log/mysql-bin.log

max_connections=1000

#以下为mysql 主主模式的配置文件

# 忽略mysql数据库复制

binlog-ignore-db=mysql

# 每次增长2

auto-increment-increment=2

# 设置自动增长的字段的偏移量,即初始值为2

auto-increment-offset=1

ndbcluster

ndb-connectstring=192.168.1.71

[MYSQL_CLUSTER]

ndb-connectstring=192.168.1.71

[NDB_MGM]

connect-string=192.168.1.71

[mysqld_safe]

log-error=/var/mysql/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

四、mysql-cluster启动

1.启动mysql-cluster

mysql集群的启动顺序为:管理节点->数据节点->SQL节点

mysql集群的关闭顺序为,SQL节点->数据节点->管理节点

 

2.管理节点:

[root@MGM ]#ndb_mgmd -f /var/lib/mysql-cluster/config.ini –initial(注意第一次或者对config文件进行修改后,打开服务一定要加上initial否则新增加的内容不会被使用)

3.jpg

 

3.数据节点:

[root@NDBD1 ]#/usr/local/mysql/bin/ndbd –initial(此处同上)

4.jpg

 

4.sql节点:

[root@SQL1 ]#service mysqld start

5.jpg

 

5.验证:(在管理节点上)

[root@MGM ]#ndb_mgm

ndb_mgm>show

6.jpg

 

五、测试

1.在sql1节点执行:

[root@SQL1 ]#mysql    调用mysql

mysql>create database tianyuan;    创建数据库

mysql>use tianyuan;    使用数据库

mysql>create table test(i int,name varchar(10)) engine=ndbcluster;    创建表

mysql>insert into test values(1,'ceshi');     插入表数据

mysql>select * from test;    查询验证

 

2.在sql2节点验证sql1的数据是否已同步到sql2:

[root@SQL2 ]#mysql         调用mysql

mysql>show databases;      查询数据库

mysql>use tianyuan;       使用数据库

mysql>select * from test;   查询验证

 

3.可通过中断数据节点或sql节点来验证数据是否会同步。

原创文章,作者:N22-kong,如若转载,请注明出处:http://www.178linux.com/36462

(0)
N22-kongN22-kong
上一篇 2016-08-22
下一篇 2016-08-22

相关推荐

  • linux文件权限

    一、前言 在linux中,每个目录或者文件都有相对应的权限,linux通过文件属主(user),文件属组(group),其它人(order)对一个文件或者目录控制读写执行权限,当然在这些基本权限之外还有特殊权限,facl(file access control list)等。 二、文件基本权限    2.1:属主、属组、order概念 &…

    Linux干货 2015-08-17
  • keepalived双主模型的实现

    一、简介  keepalived 简介:是服务器高可用的一个重要软件,它的核心组件有vrrp ,stack, checker ,ipvs, warpper, watch dog  它是vrrp协议的实现,原生设计目的为高可用ipvs服务;keepalived能够通过配置文件中定义生成ipvs规则 并能够对RS的健康状态进行检测;vrrp_…

    Linux干货 2016-08-30
  • 马哥教育网络班21期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 集线器:工作在物理层,对信号作放大处理,转发比特流,所有端口都是共享带宽都是一个冲突域,使用在小型局域网内。 网桥:早期的二层数据链路层设备,可以建立和维护MAC地址表,独享带宽,每个端口是一个冲突域,使用在小型局域网内。 交换机:工作在数据链路层,可以学习和维护MAC地址,之后…

    Linux干货 2016-08-05
  • 计算机组成、Linux命令基础

    计算机组成 控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。 存储器(Memory):存储器的功能是存储程序、数据和各种信号、命令等信息…

    Linux干货 2016-09-19
  • Linux初探

    1.计算机组成: CPU:运算器(指令集)、控制器、寄存器、缓存; 存储器:内存,RAM; Input:下指令,提供数据; Ouput:输出数据加工的结果 一般来说,从磁盘中读取程序和数据放到内存中排队,由cpu从内存中读取执行。由于cpu处理速度远大于磁盘的I/O速度,因此引入缓存。在计算机中有缓存为王这个说法。 2.操作系统的背景: 1.统一规范 2.由…

    Linux干货 2016-10-30
  • 第十八周作业

    1.LNMP架构添加Memcached支持,并验证其缓存结果 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 Memcached是以守护程序(监听)方式运行于一…

    2017-07-07