【集群环境】



管理节点    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. 使用 NuGet 更新套件時將 jQuery 升級到 2.0.2 應該如何降級

    我們在 Visual Studio 2012 裡面會使用 NuGet 管理員管理那些常用的開發函式庫,例如jQuery.Json.NET. EntityFramework.ELMAH.… 等等.各位可 ...

  2. andriod 文本居中: android:gravity="center"

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...

  3. pytest文档28-重复执行用例(pytest-repeat)

    前言 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来. 自动化运行用例时候,也会出现偶然的bug,可以针对单个用例, ...

  4. python接口自动化24-有token的接口项目使用unittest框架设计

    获取token 在做接口自动化的时候,经常会遇到多个用例需要用同一个参数token,并且这些测试用例跨.py脚本了. 一般token只需要获取一次就行了,然后其它使用unittest框架的测试用例全部 ...

  5. windows tomcat nginx session(当一台tomcat关闭后)

    在windows下作nginx负载均衡测试. nginx的配置文件如下: worker_processes  1; events { worker_connections  1024; } http ...

  6. Matlab注释多行和取消多行注释的快捷键

    matlab里注释符号是%,只是单行注释,可是没有多行注释符号,就像C/C++/Java中都有多行注释符号/*  */. 如果利用单行注释的方式手工注释一段程序会很麻烦,matlab软件自带快捷键支持 ...

  7. Informatica 常用组件Lookup之五 转换属性

    查找转换的属性标识数据库源.PowerCenter 如何处理转换,以及它如何处理高速缓存和多项匹配. 创建映射时,为每个查找转换指定属性.创建会话时,您可在会话属性中覆盖某些属性,如每个转换的索引和数 ...

  8. Android组件之Service浅谈

    Service是Android中的四大组件之一,和windows中的服务是类似,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序Service,手机中有的程序的 ...

  9. 理解js中的new

    new 操作符 在有上面的基础概念的介绍之后,在加上new操作符,我们就能完成传统面向对象的class + new的方式创建对象,在Javascript中,我们将这类方式成为Pseudoclassic ...

  10. js常用的事件对象

    事件源对象  event.srcElement.tagName  event.srcElement.type 捕获释放  event.srcElement.setCapture();   event. ...