最后还是通过三台机器实现了linux下的mysql集群,这边首先要感谢众多网络上提供帮助教程,虽然有些没有经过实践无法真正达到效果,但是这次给MGM项目的这个开头还是不错。

书归正传,这边用的是vmware workstation来实现的,先装三台linux centos的服务器,最好参考百度知道里面的安装普通database的服务器方法,当中自己来实现交换分区和boot分区还有主分区的划分,这样更好的学习linux的命令和一些常用的操作。接下来和网上的做法差不多,这边关键是my.cnf的配置方法,最后我才发觉这个是我的问题,而且权限表的配置也很重要chown最好对mysql组下的mysql对这个安装路径(/usr/local/mysql/)路径的所有权限进行赋值。

操作系统:

Centos6.0 release 64位

软件包:

mysql-cluster-advanced-7.4.6-linux-glibc2.5-x86_64.tar.gz

数据库管理节点: 10.10.10.201

数据库数据节点: 10.10.10.202,10.10.10.203

数据库sql节点: 10.10.10.202,10.10.10.203

我这里数据节点和sql节点用相同的2台机器承担.

1.管理节点的安装

#groupadd mysql

#useradd mysql -g mysql

#mv

mysql-cluster-advanced-7.4.6-linux-glibc2.5-x86_64.tar.gz /usr/local/

#cd /usr/local/

#tar zxvf

mysql-cluster-advanced-7.4.6-linux-glibc2.5-x86_64.tar.gz

#rm -f

mysql-cluster-advanced-7.4.6-linux-glibc2.5-x86_64.tar.gz

#mv

mysql-cluster-advanced-7.4.6-linux-glibc2.5-x86_64mysql

#chown -R mysql:mysql mysql

#cd mysql

#scripts/mysql_install_db --user=mysql

2.管理节点的配置

#mkdir /var/lib/mysql-cluster

#cd /var/lib/mysql-cluster

#vi config.ini

//这里需要手动添加如下内容

[ndbd default]   NoOfReplicas=2   DataMemory=80M   IndexMemory=18M

//这里有很多参数,大家可以自己找下相关资料

[ndb_mgmd]   Id=1   Hostname=10.10.10.201           //管理节点IP  datadir=/usr/local/mysql/logs

[ndbd]   Id=2   Hostname=10.10.10.202             //数据节点IP      datadir=/usr/local/mysql/data/

//数据节点的数据目录,这里要与数据节点的配置文件my.cnf(其实这边要但是my。cnf里面不用指定也行)

的数据指定相同

[ndbd]   Id=3   Hostname=10.10.10.203            //数据节点IP      datadir=/usr/local/mysql/data/

[MYSQLD]   [MYSQLD]

3.安装和配置数据节点

这里2台机器数据节点安装是相同的.

#groupadd mysql

#useradd mysql -g mysql

#mv

mysql-cluster-advanced-7.4.6-linux-glibc2.5-x86_64.tar.gz /usr/local/

#cd /usr/local/

#tar zxvf

mysql-cluster-advanced-7.4.6-linux-glibc2.5-x86_64.tar.gz

#rm -f

mysql-cluster-advanced-7.4.6-linux-glibc2.5-x86_64.tar.gz

#mv

mysql-cluster-advanced-7.4.6-linux-glibc2.5-x86_64 mysql

#chown -R mysql:mysql mysql

#cd mysql

#scripts/mysql_install_db --user=mysql

#cp support-files/my-medium.cnf /etc/my.cnf

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

#vi /etc/my.cnf

//这里需要手动添加如下的内容

[client]

port =3307

[mysqld]

port = 3307

ndbcluster

ndb-connectstring=10.10.10.201

bind-address = 10.10.10.202

[mysql_cluster]

ndb-connectstring=10.10.10.201

这边特别要说的额是设置成3307是必须的,我尝试了很多方法,在ndbd开启后3306就被占用了,

可以使用

netstat -anp | grep "3306" 来找到pid,用kill pid号反而会导致ndbd的集群出问题,所以这里只能指定binding-address和port

4.启动相关服务

在管理节点启动相关服务:

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

#netstat -lntpu

tcp        0      0 0.0.0.0:1186            0.0.0.0:*

LISTEN   22907/ndb_mgmd

看到1186端口开放了说明启动是正常的.

在数据节点启动相关服务:

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

#netstat -lntpu

tcp        0      0 10.10.1.65:32975            0.0.0.0:*                    LISTEN      1901/ndbd

tcp        0      0 10.10.1.65:32976            0.0.0.0:*                   LISTEN      1901/ndbd

tcp        0      0 10.10.1.65:32977            0.0.0.0:*                   LISTEN      1901/ndbd

#service mysqld start

#netstat -lntpu

tcp        0      0 :::3306                     :::*                        LISTEN      2258/mysqld

可以看到相关的ndbd服务以及mysql已经启动ok了.

5.功能测试

到管理节点查看下相关服务状态

# ndb_mgm

ndb_mgm> show

Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)]     2 node(s)

id=2    @10.10.1.65  (mysql-5.1.37 ndb-7.0.8, Nodegroup: 0, Master)

id=3    @10.10.1.58  (mysql-5.1.37 ndb-7.0.8, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1    @10.10.1.151  (mysql-5.1.37 ndb-7.0.8)

[mysqld(API)]   2 node(s)

id=4    @10.10.1.65  (mysql-5.1.37 ndb-7.0.8)

id=5    @10.10.1.58  (mysql-5.1.37 ndb-7.0.8)

可以看到这里的数据节点、管理节点、sql节点都是正常的.

现在我们在其中一个数据节点上进行相关数据库的创建,然后到另外一个数据节点上看看数据是否同步

# /usr/local/mysql/bin/mysql -u root -p

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| ndb_2_fs           |

| test               |

+--------------------+

mysql> create database aa;

mysql> use aa

mysql> CREATE TABLE ctest2 (i INT) ENGINE=NDB;

//这里必须指定数据库表的引擎为NDB,否则同

步失败

mysql> INSERT INTO ctest2 () VALUES (1);

mysql> SELECT * FROM ctest2;

+------+

| i    |

+------+

|    1 |

+------+

现在到另外一个数据节点查看下aa数据库是否同步过来了.

#/usr/local/mysql/bin/mysql -u root -p

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| aa                 |

| bb                 |

| mysql              |

| ndb_3_fs           |

| test               |

+--------------------+

mysql> use aa

mysql> select * from ctest2;

+------+

| i    |

+------+

|    1 |

+------+

从上面可以看到数据已经同步了,mysql集群环境已经搭建完成.

这边同样要感谢下面页面的提供帮助:

http://blog.chinaunix.net/uid-23412974-id-2425362.html

http://wenku.baidu.com/link?url=BweBSV3m0ut73gnmRWj5M3w88YTanyxi_K7tvkqpWMdrfaf54xSdVfPolj0HbhdH9hmf85UO_OjXEuWsYlIBRgND0-WgZ9RW1qBE1weoLOq

让我知道不光是chrown来设置权限表来解决问题,还需要绑定其他端口和ip,还有重要问题还需要跑到/usr/local/mysql/data找错误日志来排查。

mysql三台机群集_MySQL Cluster 3台机器搭建集群环境相关推荐

  1. zookeeper伪集群(在一台机器上集群)

    2019独角兽企业重金招聘Python工程师标准>>> 创建一下的目录结构zookeeper-3.4.10是你下载的zookeeper的解压包 /zookeeper_cluster- ...

  2. 文件服务器高可用群集,fastDFS文件服务器(三):集群和高可用环境篇

    解决两个组轮询存储文件问题 上篇文章中我们搭建了单机版的fastDFS,其中storage有两个group,分别为head和other,我们在测试的时候发现文件每次上传都会到head目录下,如果你希望 ...

  3. mysql cluster mysql 节点无法关闭_Mysql Cluster 非root用户启动ndbd节点报错

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.配置文件,如下: [root@cent178 ~]# ls -lart /etc/my.cnf -rw-rw-r-- 1 mysql mysql 30 ...

  4. 两台服务器安装redis集群_Redis Cluster搭建高可用Redis服务器集群

    一.Redis Cluster集群简介 Redis Cluster是Redis官方提供的分布式解决方案,在3.0版本后推出的,有效地解决了Redis分布式的需求,当一个节点挂了可以快速的切换到另一个节 ...

  5. mysql数据库集群 主主复制 原理_MySql搭建集群 之 主主复制(双主代从)MYSQL数据库...

    作者:VEPHP   时间 2017-09-27 <MySql搭建集群 之 主主复制(双主代从)MYSQL数据库>要点: 本文介绍了MySql搭建集群 之 主主复制(双主代从)MYSQL数 ...

  6. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十二)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网。...

    Centos7出现异常:Failed to start LSB: Bring up/down networking. 按照<Kafka:ZK+Kafka+Spark Streaming集群环境搭 ...

  7. 华为python673集_实现Redis Cluster并实现Python链接集群

    一.Redis Cluster简单介绍 Redis集群搭建的方式有多种,例如使用Redis主从复制+Sentinel高可用集群.zookeeper等,但从Redis 3.0之后版本支持Redis-cl ...

  8. Redis进阶-5.x 单节点 及Redis Cluster 3主3从集群部署

    文章目录 Redis 下载地址 Redis 5.x 单节点 编译安装 Redis 启停 Redis Cluster 4.x VS Redis Cluster 5.x 演进之路 ( Master/Sla ...

  9. 两台服务器安装redis集群_redis 集群搭建,小白也能搭三主三从的集群环境

    redis集群简介: Redis集群是一个程序集,它提供在多个 Redis节点之间共享数据. 一个 Redis集群不支持同时处理多个键的 Redis命令,因为这要求将数据移动到多个节点之间,这会降低 ...

最新文章

  1. phalcon安装-遇坑php-config is not installed 解决方法
  2. nginx 限流,以及nginx直接返回json格式数据
  3. Python-OpenCV 处理视频(一)(二): 输入输出 视频处理
  4. codeforces 711B - Chris and Magic Square(矩阵0位置填数)
  5. android 简单的音乐播放器实现播放模式的切换
  6. SAP S/4HANA product search implementation debug in backend
  7. 懒惰的JSF Primefaces数据表分页–第2部分
  8. LNMP下Redis介绍以及安装(Linux)
  9. vs中c语言图形显示,VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)...
  10. 机器人产业进入“快车道”, 细分领域深耕细作成趋势。...
  11. 长江大学计算机网络期末考试试题及答案,长江大学计算机基础考试试题
  12. blender初学实用快捷键
  13. 《超越宝典汽配汽修管理系统——“美容管理”模块》项目研发阶段性总结
  14. 弧长正反算matlab,利用Matlab计算子午线弧长和平行圈弧长
  15. QT5的软键盘输入法实现
  16. 组归一化(Group Normalization)的解释
  17. 20190707 - FE:使用 Charles 在 IphoneX 上抓包
  18. 自定义桌面图标!制作属于自己的个性化桌面吧(=^x^=)
  19. 金士顿dtse9g2 PS2251-07 海力士(Hynix) flash not support
  20. 推荐一款视频音频剪辑软件,可免费试用

热门文章

  1. NeurIPS 2021 | 港中文周博磊组:基于实例判别的数据高效生成模型
  2. 成为年薪50W+的NLP工程师,需要哪些技能?
  3. 预训练图像处理Transformer:刷榜多项底层视觉任务
  4. 我们做了一个医疗版MNIST数据集,发现常见AutoML算法没那么好用
  5. AAAI 2019 Oral | 让TA说你想听的—基于音/视频特征解离的讲述者人脸生成
  6. HihoCode1721删除一个字符之后是回文字符串
  7. 简单计算器 逆波兰表达式
  8. linux arp 老化时间,Linux实现的ARP缓存老化时间原理解析
  9. python内置序列类型_Python序列内置类型之元组类型详解
  10. 深入浅出在NIO技术中,如何理解直接缓冲区要比非直接缓冲区效率高?