MySQL集群,例如:利用mysql cluster ,mysql proxy,mysql replication,drdb等等

有人会问mysql集群,根分表有什么关系吗?虽然它不是实际意义上的分表,但是它启到了分表的作用,做集群的意义是什么呢?为一个数据库减轻负担,说白了就是减少sql排队队列中的sql的数量,举个例子:有10个sql请求,如果放在一个数据库服务器的排队队列中,他要等很长时间,如果把这10个sql请求,分配到5个数据库服务器的排队队列中,一个数据库服务器的队列中只有2个,这样等待时间是不是大大的缩短了呢?这已经很明显了。所以我把它列到了分表的范围以内,我做过一些mysql的集群:

Linux mysql proxy 的安装,配置,以及读写分离

mysql replication 互为主从的安装及配置,以及数据同步

优点:扩展性好,没有多个分表后的复杂操作(PHP代码)

缺点:单个表的数据量还是没有变,一次操作所花的时间还是那么多,硬件开销大。

集群资料:http://www.th7.cn/db/mysql/201409/72633.shtml

ex:

1:

Windows server 2003 192.168.119.88(管理节点,存储节点,SQL节点)
Windows server 2003 192.168.119.87(存储节点,SQL节点)

2、安装程序

在两台机器上面同时进行

(1)在mysql cluster官网:

中下载msi安装软件mysql-cluster-gpl-7.4.11-win32.msi

可能需要Oracle用户注册后下载

安装完成后

(2)在命令行中切换到mysql安装后bin目录下执行:

mysqld --install mysql 注册服务

(3)设置环境变量:

将mysql安装后bin目录添加到环境变量中。

3、创建配置文件

(1)在10.135.10.51上创建c:/cluster/config.ini文件,内容为:

[ndbd default]

NoOfReplicas=2

 

[ndb_mgmd] #管理节点

NodeId=1

HostName=192.168.119.88

DataDir=c:/cluster/data

 

[ndbd] #数据节点

NodeId=21

HostName=192.168.119.88

DataDir=c:/cluster/ndbdata

 

[ndbd] #数据节点

NodeId=22

HostName=192.168.119.87

DataDir=c:/cluster/ndbdata

 

[mysqld] #sql节点

NodeId=11

HostName=192.168.119.88

 

[mysqld] #sql节点

NodeId=12

HostName=192.168.119.87

注意:在88机器c:/cluster目录下创建data和ndbdata目录。在87机器c:/cluster目录下创建ndbdata目录。

(2)在两台机器上创建mysql配置文件my.ini

在mysql cluster安装目录下找到my-default.ini文件,复制到当前目录并重命名为my.ini。

在my.ini尾部添加如下内容:

 

[mysql_cluster]

 

ndb-connectstring=192.168.119.88

 

 

 

[mysqld]

 

ndbcluster

 

ndb-connectstring=192.168.119.88

4、启动mysqlcluster(在192.168.119.88中执行)

(1)打开新cmd窗口

ndb_mgmd.exe --config-file=c:/cluster/config.ini--configdir=c:/cluster

(2)打开新cmd窗口

ndbd.exe --initial        /*首次执行时加入--initial参数*/

(3)打开新cmd窗口

mysqld.exe--default-file="C:/ProgramFiles/MySQL/MySQL Cluster 7.4/my.ini"

执行完成后启动mysql:

net start mysql

5、在192.168.119.87中执行:

打开新cmd窗口:

ndbd.exe

打开新cmd窗口

mysqld.exe--default-file="C:/ProgramFiles/MySQL/MySQL Cluster 7.4/my.ini"

执行完成后启动mysql:

net start mysql

6、查看安装情况

在192.168.119.88或192.168.119.87上打开cmd窗口,执行

ndb_mgm.exe

ndb_mgm>show

如图所示。

其中,MGM为管理节点,API(mysqld)为SQL节点,NDB为数据节点。

7.在任意一台机器上使用Navicat创建一张存储引擎为ndbcluster的表,并在表中添加一些测试数据。在另外一台机器上查看,可以看到数据库已经同步。

注意点:

1:DataDir=c:/cluster/ndbdata目录必须要创建不要写错会导致问题

       2:mysql安装完成后,手动注册服务mysqld --install mysql 注册服务

3:远程登录mysql的授权语句;初始化时用户root密码为空。

GRANT ALL PRIVILEGES ON *.*TO 'root'@'192.168.118.130' WITH GRANT OPTION;

4:创建表语句

CREATETABLE `test` (

`id` varchar(32) NOT NULL,

`name` varchar(32) NOT NULL

) ENGINE=ndbcluster DEFAULTCHARSET=latin1

成功截图

mysql分布式集群实现原理的更多相关文章

  1. MySQL分布式集群之MyCAT(转)

    原文地址:http://blog.itpub.net/29510932/viewspace-1664499/ 隔了好久,才想起来更新博客,最近倒腾的数据库从Oracle换成了MySQL,研究了一段时间 ...

  2. 如何搭建一个 MySQL 分布式集群

    1.准备集群搭建环境 使用6台虚拟机来搭建 MySQL分布式集群 ,相应的实验环境与对应的MySQL节点之间的对应关系如下图所示: 管理节点(MGM):这类节点的作用是管理MySQLCluster内的 ...

  3. MySQL分布式集群之MyCAT(三)rule的分析【转】

    首先写在最前面,MyCAT1.4的alpha版本已经发布了,这里面修复了不少的bug,也完善了一细节,之前两篇博客已经做了一些修改 ---------------------------------- ...

  4. MySQL分布式集群之MyCAT(二)【转】

    在第一部分,有简单的介绍MyCAT的搭建和配置文件的基本情况,这一篇详细介绍schema的一些具体参数,以及实际作用        首先贴上自己测试用的schema文件,双引号之前的反斜杠不会消除,姑 ...

  5. MySQL分布式集群之MyCAT(一)简介【转】

    隔了好久,才想起来更新博客,最近倒腾的数据库从Oracle换成了MySQL,研究了一段时间,感觉社区版的MySQL在各个方面都逊色于Oracle,Oracle真的好方便!好了,不废话,这次准备记录一些 ...

  6. 抄来的,占个位儿【百度架构师是怎样搭建MySQL分布式集群】

    1.准备集群搭建环境 使用6台虚拟机来搭建MySQL分布式集群,相应的实验环境与对应的MySQL节点之间的对应关系如下图所示:     管理节点(MGM):这类节点的作用是管理MySQLCluster ...

  7. 分布式集群Session原理及实现共享

    1.什么是Session/Cookie? 用户使用网站的服务,基本上需要浏览器与Web服务器的多次交互.HTTP协议本身是无状态的,当用户的第一次访问请求结束后,后端服务器就无法知道下一次来访问的还是 ...

  8. Mysql分布式集群

    一.准备 集群: 192.168.1.191  管理节点192.168.1.192  管理节点192.168.1.193  数据节点和API节点 192.168.1.194  数据节点和API节点 安 ...

  9. 【Database】Mysql分布式集群学习笔记

    一.sql 的基本操作 (2018年11月29日,笔记) (1)数据库相关操作 创建数据库.查看数据库.删除数据库 #. 创建数据库 create database mytest default ch ...

随机推荐

  1. 2017 清北济南考前刷题Day 2 morning

    期望得分:100+30+60=190 实际得分:100+30+30=160 T1 最优方案跳的高度一定是单调的 所以先按高度排序 dp[i][j] 跳了i次跳到j 枚举从哪儿跳到j转移即可 #incl ...

  2. poj 2185 Milking Grid

    Milking Grid http://poj.org/problem?id=2185 Time Limit: 3000MS   Memory Limit: 65536K       Descript ...

  3. [SDOI2016 Round1] 数字配对

    COGS 2221. [SDOI2016 Round1] 数字配对 http://www.cogs.pro/cogs/problem/problem.php?pid=2221 ★★★   输入文件:m ...

  4. 一道非常易错的js面试题

    题目如下: function Foo() { getName = function() { alert(1); }; return this; } Foo.getName = function() { ...

  5. MongoDB - MongoDB CRUD Operations, Bulk Write Operations

    Overview MongoDB provides clients the ability to perform write operations in bulk. Bulk write operat ...

  6. Web API: Client: Call a Web API from a .net client

    原文地址: http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client 翻译地址:h ...

  7. .NET 下第一次接触Redis数据库

    关于Redis 1.简介 Redis是著名的NOSQL(Not Only SQL)数据库,是键值对结构.(我只用过键值对结构的) 他为存储键值对做了优化,在大型网站中应用广泛.Redis提供了数据的自 ...

  8. 【leetcode 简单】 第九十二题 第N个数字

    在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字. 注意: n 是正数且在32为整形范围内 ( n < 231). 示例 1: ...

  9. 矩阵 matrix

    传送门 注意这题时限是2s [问题描述] 有一个n × m的矩阵,你从左上角走到右下角,只能向下和向右走. 每个点上有一个重量v i,j 价值w i,j 的物品,你有一个容量为S的背包,经过一个点你可 ...

  10. Spring4笔记6--Spring与AOP

    Spring与AOP: AOP的引入: 主业务经常需要调用系统级业务(交叉业务),如果在主业务代码中大量的调用系统级业务代码,会使系统级业务与主业务深度耦合在一起,大大影响了主业务逻辑的可读性,降低了 ...