MySQL集群简介与配置详解

转载 2013年12月04日 13:24:46



MySQL集群主要用于解决MySQL性能不足的问题,在这里我们将要介绍集群的基本概念,以及一些配置知识。

AD:2013云计算架构师峰会课程资料下载

1. 先了解一下你是否应该用MySQL集群。

减少数据中心结点压力和大数据量处理,采用把MySQL分布,一个或多个application对应一个MySQL数据库。把几个MySQL数据库公用的数据做出共享数据,例如购物车,用户对象等等,存在数据结点里面。其他不共享的数据还维持在各自分布的MySQL数据库本身中。

MySQL Cluster Components

2. 集群MySQL中名称概念.(如上图)

1)Sql结点(SQL node--上图对应为MySQLd):分布式数据库。包括自身数据和查询中心结点数据.

2)数据结点(Data node -- ndbd):集群共享数据(内存中).

3)管理服务器(Management Server – ndb_mgmd):集群管理SQL node,Data node.

3.配置

MySQL-max版本,当然现在MySQL集群系统windonws平台上面不被支持.

安装MySQL就不多说了,网上一大堆,简明扼要。

A:192.168.1.251 – Data node和Management Server.

B:192.168.1.254 – SQL node.

当然,你也可以让一个机器同时为3者。

A,B my.inf加上:

  1. [MySQLD]                         
  2. ndbcluster                     # run NDB engine  
  3. ndb-connectstring=192.168.1.251 # location of MGM node  
  4.    
  5. # Options for ndbd process:  
  6. [MySQL_CLUSTER]                  
  7. ndb-connectstring=192.168.1.251 # location of MGM node  
  8.    
  9. A: /var/lib/MySQL-cluster/config.ini  
  10. [NDBD DEFAULT]     
  11. NoOfReplicas=1   # Number of replicas  
  12. DataMemory=80M   # How much memory to allocate for data storage  
  13. IndexMemory=18M  # How much memory to allocate for index storage  
  14.                  # For DataMemory and IndexMemory, we have used the  
  15.                  # default values. Since the "world" database takes up  
  16.                  # only about 500KB, this should be more than enough for  
  17.                  # this example Cluster setup.  
  18. # TCP/IP options:  
  19. [TCP DEFAULT]      
  20. portnumber=2202  # This the default; however, you can use any  
  21.                  # port that is free for all the hosts in cluster  
  22.                  # Note: It is recommended beginning with MySQL 5.0 that  
  23.                  # you do not specify the portnumber at all and simply allow  
  24.                  # the default value to be used instead  
  25. # Management process options:  
  26. [NDB_MGMD]                       
  27. hostname=192.168.1.251          # Hostname or IP address of MGM node  
  28. datadir=/var/lib/MySQL-cluster # Directory for MGM node logfiles  
  29. # Options for data node "A":  
  30. [NDBD]                           
  31. # (one [NDBD] section per data node)  
  32. hostname=192.168.1.251          # Hostname or IP address  
  33. datadir=/usr/local/MySQL/data  # Directory for this data node's datafiles  
  34. # SQL node options:  
  35. [MySQLD]  
  36. hostname=192.168.1.254  
  37. #[MySQLD] #这个相当于192.168.1.251  
  38.   

4. 启动测试

在管理服务器上面(这里是192.168.1.251):

  1. shell>ndb_mgmd -f /var/lib/MySQL-cluster/config.ini 

在数据结点服务器上面(依然是192.168.1.251and more):

  1. shell>ndbd--initial (第一次时加--initial参数) 

SQL结点服务器上面(192.168.1.254):

  1. shell>MySQLd & 

在251上面察看

  1. ./ndb_mgm  
  2.  
  3. -- NDB Cluster -- Management Client --  
  4. ndb_mgm> show  
  5. Connected to Management Server at: 192.168.1.251:1186  
  6. Cluster Configuration  
  7. ---------------------  
  8. [ndbd(NDB)]    1 node(s)  
  9. id=2   @192.168.1.251 (Version:5.0.22, Nodegroup: 0, Master)  
  10.    
  11. [ndb_mgmd(MGM)] 1 node(s)  
  12. id=1   @192.168.1.251 (Version:5.0.22)  
  13.    
  14. [MySQLd(API)]  1 node(s)  
  15. id=3   @192.168.1.254 (Version:5.0.22) 

ok

关闭集群:

  1. shell>ndb_mgm -e shutdown 

5.基本的集群说明

1)在MySQL集群中.当table引擎为NDBCLUSTER时才做集群,其他非NDBCLUSTER表和一般MySQL数据库表一样,不会共享数据. NDBCLUSTER表数据存储在Data node服务器内存中,Data Node可以为1台或多台服务器,它们之间存放共享数据。Data Node服务器可以分组数据copy。

例如:2,3,4,5为四台Data Node服务器ID. 2,3为组0。 4,5为组1。 2,3维持数据相同,4,5维持数据相同。 组0和组1维持数据不同。

2)sql node服务器中,非NDBCLUSTER数据存在本身数据库中,table引擎为NDBCLUSTER时,数据存储在Data Node中。当查询NDBCLUSTER表时,它会从Data node集群中提起数据.

3)Manager server

管理SQl node和Data node状态。

6深入了解http://dev.MySQL.com/doc/refman/5.0/en/ndbcluster.html

原文链接:http://blog.19lou.com/10131711/viewspace-338346 

MySQL集群简介与配置详解

1. 先了解一下你是否应该用MySQL集群。 减少数据中心结点压力和大数据量处理,采用把MySQL分布,一个或多个application对应一个MySQL数据库。把几个MySQL数据库公用的数据...
  • Delete_V
  • Delete_V
  • 2013年11月05日 18:40
  • 1023

集群技术(二) MySQL集群简介与配置详解

1. 先了解一下你是否应该用MySQL集群。减少数据中心结点压力和大数据量处理,采用把MySQL分布,一个或多个application对应一个MySQL数据库。把几个MySQL数据库公用的数据做出共享...
  • lishehe
  • lishehe
  • 2015年07月04日 15:41
  • 4617

MySQL集群---①浅谈MySQL集群原理

本文简单介绍一下MySQL集群的基本原理! 一、什么是MySQL集群    MySQL集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案,其目的是提供容错性和高...
  • mazhaojuan
  • mazhaojuan
  • 2014年12月28日 09:40
  • 4654

Linux下搭建MySQL集群 / Mysql“集群”和”主从“两者的区别

青峰科技 2017-08-19 14:45 一、MySQL集群简介 1、什么是MySQL集群 MySQL集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案,其目的是提供容...
  • u011277123
  • u011277123
  • 2017年08月22日 14:44
  • 323

MySQL优化,集群,存储过程

1 MySQL大表优化方案 https://segmentfault.com/a/1190000006158186 2 Linux下MySQL集群 https://my.oschina.net/z...
  • u010129985
  • u010129985
  • 2017年08月02日 09:14
  • 133

mysql集群(主从复制)

主从复制 实现步骤: 1:首先确保主服务器打开二进制日志功能. 这样,主服务器一旦有数据变化,立即产生二进制日志. 2:从服务器也需要开启二进制日志和relay日志功能. 这样可以从主服务器...
  • steven_zzz
  • steven_zzz
  • 2017年04月30日 10:26
  • 114

my.ini(my.cnf)的配置参数详解

1.获取当前配置参数     要优化配置参数,首先要了解当前的配置参数以及运行情况。使用下列命令可以获得目前服务器使用的配置参数:     1.获取当前配置参数     要优化配置参数,首先要了...
  • ww122081351
  • ww122081351
  • 2014年04月21日 15:45
  • 567

MySQL主从同步读写分离的集群配置

大型网站为了解决大量的高并发访问问题,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器支持,如此多的数据库连接操作,服务器性能再好数...
  • xmt1139057136
  • xmt1139057136
  • 2015年08月05日 11:40
  • 4243

当MySQL集群时, JDBC路径的使用方法.

这样使用:    jdbc:mysql://[host:port],[host:port].../[database][?propertyName1][=propertyValue1][&proper...
  • yipsilon
  • yipsilon
  • 2004年11月11日 06:55
  • 2206

什么是mysql集群

要想使用mysql集群,首先得弄清楚什么是mysql集群。  什么是mysql集群?    mysql 集群是一个无共享的 (shared-nothing)、分布式节点架构的存储方案,其目的是提供...
  • lxpbs8851
  • lxpbs8851
  • 2013年02月23日 09:50
  • 1698
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL集群简介与配置详解
举报原因:
原因补充:

(最多只允许输入30个字)