集群环境

管理节点    10.0.0.19
数据节点 10.0.0.12 10.0.0.17
sql节点 10.0.0.18 10.0.0.22

添加mysql用户

groupadd mysql
useradd mysql -g mysql

安装mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz

cd /home/test

tar -zxvf mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz -C /usr/local

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台)

集群配置

管理节点

vim /usr/local/mysql/config.ini

#lizhenghua
[ndbd default]
noOfReplicas=1 [ndb_mgmd]
hostname=192.168.145.138
datadir=/usr/local/mysql/data [ndbd]
hostname=192.168.145.140
datadir=/usr/local/mysql/data [MYSQLD]
hostname=192.168.145.141 [MYSQLD] [mysqld] #博客园
[NDBD DEFAULT]
NoOfReplicas=2
[TCP DEFAULT]
portnumber=3306 [NDB_MGMD]
#设置管理节点服务器
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_mgmd -f /usr/local/mysql/config.ini

关闭管理节点

[root@localhost bin]#ndb_mgm  

ndb_mgm> shutdowm
备注:命令行中的ndb_mgmd是mysql cluster的管理服务器,后面的-f表示后面的参数是启动的参数配置文件。
如果在启动后过了几天又添加了一个数据节点,这时修改了配置文件启动时就必须加上--initial参数,不然添加的节点不会作用在mysql cluster中。
ndb_mgmd -f /usr/local/mysql/config.ini --initial

管理节点状态

ndb_mgm> show 查看各节点情况。  

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

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

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

数据节点

vim /etc/my.cnf (添加以下内容)
#lizhenghua
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data ndbcluster
ndb-connectstring=192.168.145.138 [mysql_cluster]
ndb-connectstring=192.168.145.138 [NDB_MGM]
connect-string=192.168.145.138 [mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid #博客园
[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参数,其它时候不要加,除非是在备份、恢复或配置变化后重启时

sql节点

cd /usr/local/mysql/  

cp support-files/mysql.server /etc/rc.d/init.d/mysqld  

chmod +x /etc/rc.d/init.d/mysqld  

chkconfig --add mysqld
vim /etc/my.cnf (添加以下内容)
#lizhenghua
[mysqld]
ndbcluster
ndb-connectstring=192.168.145.138
explicit_defaults_for_timestamp=true
lower_case_table_names=1
pid-file = /usr/local/mysql/data/mysql3306.pid
log-error = /usr/local/mysql/data/mysql3306.err basedir = /usr/local/mysql
datadir = /usr/local/mysql/data skip-host-cache
skip-name-resolve max_connections = 512
log-bin=mysql-bin
#log = /usr/local/mysql/binlog/binlog.log [mysql_cluster]
ndb-connectstring=192.168.145.138 #博客园
[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

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

  1. [MySQL] MySQL的自己主动化安装部署

    有过MySQL运维的人应该都清楚,线上的MySQL一般都採用源代码编译,由于这样才干够依据企业的各自须要选择要编译的功能,尽管MySQL的源代码编译挺简单的,可是试想一下,假设你有几百台server同 ...

  2. MySQL高可用之PXC安装部署(续)

      Preface       Yesterday I implemented a three-nodes PXC,but there were some errors when proceeding ...

  3. MySQL高可用之PXC安装部署

      Preface       Today,I'm gonna implement a PXC,Let's see the procedure.   Framework   Hostname IP P ...

  4. MySQL 5.7 多实例安装部署实例

    1. 背景  MySQL数据库的集中化运维,可以通过在一台服务器上,部署运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务.各个实例之间是相互独立的,每个实例的dat ...

  5. Mysql基于Mysql Cluster+MysqlRouter的集群部署方案

    http://note.youdao.com/noteshare?id=a61c4a6ff2b76e5305430eb66eb116e2&sub=4B4B6E8D0E2849F9B0DFB67 ...

  6. MySQL Cluster 7.3.5 集群配置实例(入门篇)

    一.环境说明: CentOS6.3(32位) + MySQL Cluster 7.3.5,规划5台机器,资料如下: 节点分布情况: MGM:192.168.137. NDBD1:192.168.137 ...

  7. MySQL Cluster 7.3.5 集群配置参数优化(优化篇)

    按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下, 当前生产 ...

  8. 第 16 章 MySQL Cluster

    前言: MySQL Cluster 是一个基于 NDB Cluster 存储引擎的完整的分布式数据库系统.不仅仅具有高可用性,而且可以自动切分数据,冗余数据等高级功能.和 Oracle Real Cl ...

  9. MySql(十六):MySql架构设计——MySQL Cluster

    前言: MySQL Cluster 是一个基于 NDB Cluster 存储引擎的完整的分布式数据库系统.不仅仅具有高可用性,而且可以自动切分数据,冗余数据等高级功能.和 Oracle Real Cl ...

  10. MySQL性能调优与架构设计——第 16 章 MySQL Cluster

    第 16 章 MySQL Cluster 前言: MySQL Cluster 是一个基于 NDB Cluster 存储引擎的完整的分布式数据库系统.不仅仅具有高可用性,而且可以自动切分数据,冗余数据等 ...

随机推荐

  1. c++中用vector创建多维数组的初始化方法

    最近调试一个程序,在使用vector声明一个二维数组时出现错误.错误的方法如下所示: std::vector<std::vector<double> > sphereGrid; ...

  2. windows下Anaconda3配置TensorFlow深度学习库

    Anaconda3(python3.6)安装tensorflow Anaconda3中安装tensorflow3是非常简单的,仅需通过 pip install tensorflow 测试代码: imp ...

  3. Java实现验证码的产生和验证

    大家都知道为了防止我们的网站被有些人和黑客恶意攻击,比如我们网站的注册页面,如果我们在用户注册的时候不加上一个验证码框的话,别人就可以写一个脚本对你的网站进行恶意的注册,比如每分钟对你的网站进行n次的 ...

  4. 启用mapredure历史服务器方法

    在mapred-site.xml配置文件中添加如下信息: <property>                <name>mapreduce.jobhistory.addres ...

  5. Linux crontab下关于使用date命令和sudo命令的坑

    想要在root 的crontab里面加一些任务计划,希望以www用户运行命令,并且将输出重定向到某处以当时时间命名的日志文件,大致如下 /usr/bin/sudo -u www /usr/local/ ...

  6. GA安装

  7. win7系统注册表的权限修改

    重装win7系统后,安装软件时提示注册表项拒绝访问 解决方法: 输入“Gpedit.msc”后回车,打开“组策略”.然后,依次展开“用户配置→管理模板→系统”,双击右侧窗口中的“阻止访问注册表编辑工具 ...

  8. mysql python pymysql模块 获取插入的最后一条数据的自增ID lastrowid()方法

    调用游标下的lastrowid 可以获取插入之前的表里id字段存放到哪个自增id cursor.lastrowid mysql> select * from userinfo; +----+-- ...

  9. git快速入门 push/clone/reset/merge/切换分支全都有

    本文介绍git快速入门,从安装/创建init / 发布push/版本回退reset / branch分支切换/合并分支merge 这些基本的操作都有涉及,方便新人快速入手,有需要的朋友mark一下.首 ...

  10. js-jquery-数组遍历

    一.原生方法支持 1.普通for循环 for(j = 0; j < arr.length; j++) { } 说明:性能很高,但是仍可以优化. 2.优化版for循环[推荐] for(j = 0, ...