【集群环境】



管理节点    10.0.0.19

数据节点    10.0.0.12

                   10.0.0.17

sql节点       10.0.0.18

10.0.0.22

1. 加入mysql用户

# groupadd mysql
# useradd mysql -g mysql

2. 安装mysql-cluster 7.3.5-linux

# cd /usr/local/src/(已下载好集群版)
# tar -xvf mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz
# mv mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64 ../mysql
# cd ..
# chown -R mysql:mysql mysql/
# cd mysql
# scripts/mysql_install_db --user=mysql

以上步骤5台机器都要运行

3. 集群配置

(1) 管理节点

# vi  /var/lib/mysql-cluster/config.ini (文件夹和文件没有请新建。加入下面内容)
[NDBD DEFAULT]
NoOfReplicas=2
[TCP DEFAULT]
portnumber=3306 [NDB_MGMD]
#设置管理节点server
nodeid=1
HostName=10.0.0.19
DataDir=/var/mysql/data [NDBD]
id=2
HostName=10.0.0.12
DataDir=/var/mysql/data [NDBD]
id=3
HostName=10.0.0.17
DataDir=/var/mysql/data [MYSQLD]
id=4
HostName=10.0.0.18
[MYSQLD]
id=5
HostName=10.0.0.22 #必须有空的mysqld节点,不然数据节点断开后启动有报错
[MYSQLD]
id=6
[mysqld]
id=7

拷贝ndb_mgm、ndb_mgmd到bin文件夹。

# cd /usr/local/mysql/bin
# cp ./ndb_mgm /usr/local/bin/
# cp ./ndb_mgmd /usr/local/bin/

备注:    管理节点仅仅要ndb_mgm和ndb_mgmd两个文件和一个配置文件就可以。

                因此把这三个文件拷贝到那里。那里就是管理节点了。

                ndb_mgmd是mysql cluster管理server,ndb_mgm是client管理工具。



启动管理节点

# ndb_mgmd -f /var/lib/mysql-cluster/config.ini

关闭管理节点

# ndb_mgm>shutdown

备注:命令行中的ndb_mgmd是mysql cluster的管理server。后面的-f表示后面的參数是启动的參数配置文件。

假设在启动后过了几天又加入了一个数据节点,这时改动了配置文件启动时就必须加上--initial參数。不然加入的节点不会作用在mysql cluster中。

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

这时就进入到client。能够对mysql cluster进行各项操作。

# ndb_mgm> show 查看各节点情况。

# ndb_mgm> all report memory 查看各数据节点使用情况

# ndb_mgm>create nodegroup 3;创建数据节点分组

# mysql> alter online table data_house reorganize partition; 调整分区数据

(2) 数据节点

# 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=10.0.0.19 [MYSQL_CLUSTER]
ndb-connectstring=10.0.0.19
[NDB_MGM]
connect-string=10.0.0.19 [mysqld_safe]
log-error=/var/mysql/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

安装后第一次启动数据节点时要加上--initial參数。其他时候不要加,除非是在备份、恢复或配置变化后重新启动时

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

正常启动
# /usr/local/mysql/bin/ndbd

(3) sql节点

# cd /usr/local/mysql/

设置mysql服务为开机自启动

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# vi /etc/my.cnf (加入下面内容)
[mysqld]
server-id=4#每一个服务器的id不一样
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 [mysqld_safe]
log-error=/var/mysql/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid [MYSQLD]
ndbcluster
ndb-connectstring=10.0.0.19
[MYSQL_CLUSTER]
ndb-connectstring=10.0.0.19
[NDB_MGM]
connect-string=10.0.0.19
#service mysqld start

错误解决的方法:    1. can't connect to local MySQL server through socket '/tmp/mysql.sock'

                               ln -s /var/mysql/mysql.soc /tmp

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

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



mysql-cluster 7.3.5-linux 安装的更多相关文章

  1. [置顶] MySQL Cluster初步学习资料整理--安装部署新特性性能测试等

    1.1 mysql-cluster简介 简单的说,MySQLCluster实际上是在无共享存储设备的情况下实现的一种完全分布式数据库系统,其主要通过NDBCluster(简称NDB)存储引擎来实现. ...

  2. MySql(一):linux 安装mysql数据库——yum安装法

    mysql数据库有多种安装方式,本文只介绍在Linux服务器上最实用.最快捷的mysql server安装方法.一.Linux服务器yum安装(CentOS6.3 64位)所有在服务器上执行的命令,都 ...

  3. 虚拟机windows xp 下安装配置mysql cluster 7.3.2

    1.虚拟机环境下安装的 1 192.168.131.21(管理节点,存储节点,sql节点) 2 192.168.131.22(存储节点,sql节点)   2.安装程序 在两台机器上面同时进行 第一步: ...

  4. MySQL Cluster(MySQL 集群) 初试(转)

    作/译者:叶金荣(imysql#imysql.com>),来源:http://imysql.com,欢迎转载. 作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请 ...

  5. MySQL Cluster(MySQL 集群) 初试

    MySQL Cluster 是MySQL适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.在MyQL 5.0及 ...

  6. 安装mysql ndb cluster二进制版本在linux上

    Installing an NDB Cluster Binary Release on Linux (官方安装手册)手册地址:https://dev.mysql.com/doc/refman/5.7/ ...

  7. 转centos65安装简测mysql cluster 7.3.7

    MySQLCluster是sharednothing分布式架构,ndb存储引擎把数据放置于内存中.可以做到无单点故障.由运行于不同服务器上的的多种进程构成,组件包括SQL节点,NDBD数据节点,管理程 ...

  8. linux MySQL Cluster MySQL集群

    原文:http://lizhenliang.blog.51cto.com/7876557/1290451  官方下载地址 http://dev.mysql.com/downloads/cluster/ ...

  9. linux 安装mysql(rpm文件安装)

    三 卸载旧版本的MySql (没有的话,则跳过此步骤)       1.查看旧版本MySql       rpm -qa | grep mysql       将会列出旧版本MySql的组件列表,如: ...

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

    一.准备 1.准备服务器 计划建立有5个节点的MySQL CLuster体系,需要用到5台服务器,但是我们做实验时没有这么多机器,可以只用2台,我就是一台本机,一台虚拟机搭建了有5个节点的MySQL ...

随机推荐

  1. 查找(二)简单清晰的B树、Trie树具体解释

    查找(二) 散列表 散列表是普通数组概念的推广.因为对普通数组能够直接寻址,使得能在O(1)时间内訪问数组中的任何位置.在散列表中,不是直接把keyword作为数组的下标,而是依据keyword计算出 ...

  2. MySQL数据库事务各隔离级别加锁情况--read uncommitted篇(转)

    本文转自https://m.imooc.com/article/details?article_id=17291,感谢作者 1.目的 1.1 合适人群 1.数据库事务特征我只是背过,并没有很深刻的理解 ...

  3. 转 如何在IOS设备中去掉屏幕上的status bar

    引入如何在IOS设备中去掉屏幕上的status bar,即:不显示设备上方的[网络.时间.电池??]条?操作方法一:在-info.list项目文件中,加上“Status bar is initiall ...

  4. python测试开发django-10.django连接mysql

    前言 Django 对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle.本篇以mysql为例简单介绍django连接mysql进行数据操作 Django连 ...

  5. NFS CIFS SAMBA 的联系和区别

    Common Internet File System, CIFS Server Message Block, SMB Network File System, NFS 在早期网络世界当中,档案数据在 ...

  6. poj 2284 That Nice Euler Circuit 解题报告

    That Nice Euler Circuit Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 1975   Accepted ...

  7. C语言:自定义一个查找字串的功能函数,类似于<string.h>中的strstr()

    //自定义一个字符串字串查找标准库函数strstr() #include<stdio.h> #include<string.h> char* myStrstr(char *st ...

  8. OpenCV 脸部跟踪(2)

          前面一篇文章中提到,我们在一副脸部图像上选取76个特征点,以及这些特征点的连通性信息来描述脸部形状特征,本文中我们会把这些特征点映射到一个标准形状模型.       通常,脸部形状特征点能 ...

  9. C#调用C++ memcpy实现各种参数类型的内存拷贝 VS marshal.copy的实现 效率对比

    using System; using System.Runtime.InteropServices; using System.IO; namespace tx { struct ST { publ ...

  10. Mac OS中Java Servlet与Http通信

    Java中一个Servlet其实就是一个类,用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序.Servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器 ...