搭建mysql cluster

虚拟机搭建Mysql Cluster

参考文档:http://www.cnblogs.com/jackluo/archive/2013/01/19/2868152.html

http://www.cnblogs.com/StanBlogs/archive/2011/06/14/2080986.html

需要三台服务器。一个管理节点服务器。另外两个均充当数据节点和sql节点。

这里选用ubuntu64位操作系统。mysql cluster 对应也必须是64位的。去官方站点下载mysql-cluster-gpl-7.4.4-linux-glibc2.5-x86_64。

(注:当在虚拟机操作时,vmware下,可以只先操作一个sql节点,然后虚拟机有克隆功能,直接整一份,这样另一个sql节点就基本搞定了,只需要更改下ip即可。在虚拟机实验下,最好整快照或克隆。

  我这里,管理节点ip是192.168.1.232

  另两个机器,既充当数据节点也是sql节点。ip是192.168.1.210 ;  192.168.1.219

安装ubuntu操作系统后,更改ip,dns配置。

切换用户 sudo passwd root,然后创建个root用户密码。

su root后,输入root密码。

以下操作利用root用户进行。

对每个机器的ip配置:

vim /etc/network/interfaces

改内容如下:(括号里的字去掉)

auto eth0

iface eth0 inet static  (这里没用dhcp动态,取静态ip)

address 192.168.1.219     (ip地址)

gateway 192.168.1.1    (网关地址)

netmask 255.255.255.0    (子网掩码)

dns-nameservers 192.168.1.1  (dns解析)

重启网络设置:

sudo /etc/init.d/networking restart  

一. 对数据节点和sql节点的操作

1. 创建组,用户

groupadd mysql

useradd -g mysql mysql

2. 下载mysql cluster64。传这个文件到某个目录下。这里直接上传到/usr/local(如果利用文件上传服务器,则需要赋给权限如chmod 777 /usr/local)

解压: tar -xvf mysql.tar.gz

改名: mv mysql-cluster-gpl-7.4.4-linux-glibc2.5-x86_64  mysql

3. 修改mysql目录权限

cd mysql

chown -R root .

chown -R mysql data

chgrp -R mysql .

4. 安装mysql初始库

在mysql目录下:

scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql

5. 把mysql设置为开机自启

可以把mysql服务开机自启。不整也行。

6.这里设置mysql配置文件,这里缺省了mysql配置的性能方面参数。

vim /etc/my.cnf

[client]

socket=/usr/local/mysql/sock/mysql.sock

[mysqld]

ndbcluster

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/sock/mysql.sock

ndb-connectstring=192.168.1.232       #这个是管理节点的ip

old_passwords=1

[mysql_cluster]

ndb-connectstring=192.168.1.232  #这里配置的是管理节点服务器地址

7. 此时不必启动mysql服务。

以上的操作,需要在多台数据节点和sql节点机器上进行(要是虚拟机,就克隆就好了,然后改下ip)。

二. 对管理节点的操作

管理节点不需要安装mysql服务。只需要mysql-cluster解压后的两个文件,分别是

sql节点服务器上:/usr/local/mysql/bin/ndb_mgmd 和 /usr/local/mysql/bin/ndb_mgm

ndb_mgmd 是管理节点的服务

ndb_mgm  是管理节点的客户端查看用

1. 把sql节点上的这两个文件拷贝到管理节点的/usr/local/bin目录下。(我使用filezilla传过去的)

2. 在管理节点上,确保这两个文件可执行。

cd /usr/local/bin

chmod +x ndb_mgm*

3. 在/usr/local下创建mysql文件夹,确保数据节点打开服务时,可以生成log文件

mkdir /usr/local/mysql

4. 创建一个管理节点的配置文件

mkdir /var/lib/mysql-cluster

cd /var/lib/mysql-cluster

vim config.ini

[NDBD DEFAULT]

NoOfReplicas=2

[TCP DEFAULT]

portnumber=22202

[NDB_MGMD]

hostname=192.168.1.232                 #管理节点

datadir=/var/lib/mysql-cluster/

[NDBD]

hostname=192.168.1.210                 #数据节点

datadir=/usr/local/mysql/data/

[NDBD]

hostname=192.168.1.219                 #数据节点

datadir=/usr/local/mysql/data/

[MYSQLD]

# 这里配置sql节点,最好留空。

[MYSQLD]

三、启动mysql cluster

注意启动顺序:首先是管理节点,然后是数据节点,最后是SQL节点。

1.  ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

第一次启动时,再加--initial参数,或者在更改config.ini节点时加

(启动时可能会报个WARNING,如WARNING  -- at line 7: [TCP] portnumber is deprecated,这个不用管。可以正常工作的。)

此时使用ndb_mgm来监听客户端

2.  数据节点

/usr/local/mysql/bin/ndbd

首次启动,则需要添加--initial参数,以便进行NDB节点的初始化工作。在以后的启动过程中,则是不能添加该参数的,否则ndbd程序会清除在之前建立的所有用于恢复的数据文件和日志文件。

/usr/local/mysql/bin/ndbd --initial

(如果报错:日志文件不能生成,则手动创建这个目录)

此时,在管理节点上,ndb_mgm,使用show命令时,可以看到数据节点连接上了(多台数据节点都需要这样操作)

3.  sql节点

/usr/local/mysql/bin/mysqld_safe --user=mysql &

如果报错说某套接字连不上mysql,那么尝试下再次创建系统数据库,方法如下:

在mysql目录下

scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql

再次启动

/usr/local/mysql/bin/mysqld_safe --user=mysql &

查看管理节点。此时sql节点也应该连接上了。

四、测试

1、常规测试:

在节点4上面:

为了让表在cluster中正常复制,创建一个表必须使用ndbcluster引擎(engine=ndb Or engine=ndbcluster)方法如下:

mysql>use test

mysql>create table teacher(t_id int) engine=ndb;(这里引擎须要是ndb,而不是innodb)

如果是一个已经存在的表,用alter table修改表的引擎。

mysql>alter table student engine=ndb;

插入一条数据:

mysql>insert into teacher values(133);

然后在节点5上:

mysql>select * from teacher;

两个节点数据保持一致,恭喜你,测试成功!

模拟NDB节点Crash

这基本参照文档:

http://www.cnblogs.com/StanBlogs/archive/2011/06/14/2080986.html

时间: 2024-10-04 11:27:47

搭建mysql cluster的相关文章

CentOS 6.8搭建mysql cluster(7.3)

CentOS 6.8搭建mysql cluster(7.3): 注:共5台,1台管理节点(10.0.0.21),2台SQL节点(10.0.0.22.10.0.0.23),2台数据节点(10.0.0.24.10.0.0.25) 参考网址:http://blog.itpub.net/9034054/viewspace-2097706 下载网址(选择Red Hat的tar包并进行解压):https://dev.mysql.com/downloads/cluster/7.3.html#downloads

MySQL集群---②Windows平台搭建MySQL CLUSTER集群

本文将通过两台电脑来简单介绍一下Windows平台如何搭建MySQL集群. MySQL集群支持多台电脑,本文搭建的MySQL集群以两台机子为例,其中一台(IP为192.168.24.33)部署管理节点.数据节点和SQL节点,另一台(IP为192.168.24.82)部署数据节点和SQL节点. 实际应用中,不要将管理节点跟数据节点部署到一台机子上,因为如果数据节点宕机会导致管理节点不可用,同时整个MySQL群集也就都不可用了.所以一个MySQL群集理想情况下至少有三台服务器,将管理节点单独放到一台

centos7 mysql cluster集群搭建基于docker

1.准备 mn:集群管理服务器用于管理集群的其他节点.我们可以从管理节点创建和配置集群上的新节点.重新启动.删除或备份节点. db2/db3:这是节点间同步和数据复制的过程发生的层. db4/db5:应用程序使用的接口服务器连接到数据库集群. [[email protected] ~]# docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

mysql cluster搭建

一.网络top图: 一共要5台机器:管理节点.数据节点1.数据节点2.sql节点1.sql节点2 mysql 管理结点:63.cn   IP:192.168.146.4(安装server.client) mysql 数据结点:64.cn   IP:192.168.146.7 (安装server.client) mysql 数据结点:65.cn   IP:192.168.146.3 (安装server.client) msyql SQL节点:66.cn   IP:192.168.146.44 (安

mysql cluster (mysql 集群)安装配置方案(转)

一.准备 1.准备服务器 计划建立有5个节点的MySQL CLuster体系,需要用到5台服务器,但是我们做实验时没有这么多机器,可以只用2台,我就是一台本机,一台虚拟机搭建了有5个节点的MySQL CLuster体系,将一个SQL节点一个数据节点一个SQL节点放在了一台服务器上(192.168.1.252),将另一个SQL节点和一个数据节点放在了另外一台服务器上(192.168.1.52). 节点配置说明 节点 对应的IP和端口 管理节点(1个) 192.168.1.252 SQL节点 (2个

基于keepalived搭建MySQL的高可用集群

http://www.cnblogs.com/ivictor/p/5522383.html 基于keepalived搭建MySQL的高可用集群 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,MHA和PXC. 对于小公司,一般推荐使用keepalived+双主,简单. 下面来部署一下 配置环境: 角色                          

Windows Server 2008R2配置MySQL Cluster并将管理节点和数据节点配置成windows服务

说明:将mysql的管理节点和数据节点配置成windows服务是为了防止有人手误关闭管理节点或数据节点的dos命令窗口,管理节点或数据节点的命令窗口误关闭可能会造成mysql某台或某几台mysql不能被访问,注册成windows服务自动启动更安全可靠. 目录 操作系统:Windows Server 2008 R2 Enterprise VM1:192.168.220.103 管理节点(MGM), VM2:192.168.220.104数据节点(NDBD1),SQL节点(SQL1) VM3:192

NDB Cluster (分布式存储引擎)存储引擎简单简介及Mysql cluster的实现

一.NDB Cluster (分布式存储引擎)存储引擎简单简介 NDB 存储引擎也叫NDB Cluster 存储引擎,主要用于MySQL Cluster 分布式集群环境, Cluster 是MySQL 从5.0 版本才开始提供的新功能.这部分我们可能并不仅仅只是介绍NDB存储引擎,因为离开了MySQL CLuster 整个环境,NDB 存储引擎也将失去太多意义.所以 接下来会和MySQL Cluster的搭建一块介绍. Mysql Cluster 是一种技术,其主要功能是在无共享的相关系统中部署

MySQL数据库管理(二)单机环境下MySQL Cluster的安装

上文<MySQL数据库管理(一)MySQL Cluster集群简单介绍>对MySQL Cluster集群做了简要介绍.本文将教大家一步步搭建单机环境下的MySQL数据库集群. 一.单机环境搭建 首先到MySQl官网上 下http://www.mysql.com/downloads/Cluster/下载所需的安装包.然后将下载得到的ZIP包解压到C:\ypl\mysql\mysqlc 这个MySQL数据库的集群由一个MySQL服务引擎(mysqlds).两个数据节点(ndbd)和一个管理节点(n