MySQL 集群环境搭建 1 MySQL 集群简介 1.1 什么是MySQL 集群 MySQL 集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案,其目的是提供容错性和高性能。 数据更新使用读已提交隔离级别(read-committedisolation)来保证所有节点数据的一致性,使用两阶段提交机制(two-phasedcommit)保证所有节点都有相同的数据(如果任何一个写操作失败,则更新失败)。 无共享的对等节点使得某台服务器上的更新操作在其他服务器上立即可见。传播更新使用一种复杂的通信机制,这一机制专用来提供跨网络的高吞吐量。 通过多个 MySQL 服务器分配负载,从而最大程序地达到高性能,通过在不同位置存储数据保证高可用性和冗余。 了解更多: http://www.mysql.com/why-mysql/white-papers/guide-to-optimizing-performance-of-the-mysql-cluster/ 1.2 集群 MySQL 中名称概念 1) Sql 结点(SQL node—下图对应为 mysqld):分布式数据库。包括自身数据和查询中心结点数据 2) 数据结点(Data node – ndbd):集群共享数据(内存中) 3) 管理服务器(Management Server – ndb_mgmd):集群管理 SQL node,Data node 详情见下图: 1 .3 环境配置 1) 至少2 台Linux 服务器,后面的例子是3 台Linux 服务器 A:192.168.2.128 Management Server B:192.168.2.129 Data node、SQL node C:192.168.2.24 Data node、SQL node 如果只有 2 台的话,那么其中一台机器就要多一个角色:Management Server 2) MySQL 集群版本安装程序,分 32 位和 64 位版本,最新版本请在http://www.mysql.com/downloads/里面下载 2 安装 不管是Management Server,还是Data node、SQL node,都需要先安装 MySQL 集群版本,然后根据不用的配置来决定当前服务器有哪几个角色。 安装之前准备好 mysql 用户和 mysql 用户组,相关命令: groupadd mysql useradd mysql -g mysql 确定相关机器的防火墙已关闭(或者设置防火墙这几台机器之间的网络连接是畅通无阻的),相关命令: chkconfig iptables off service iptables stop 2.1 安装 My SQL 集群版本 1) 把 mysql-cluster-advanced-7.3.2-linux-glibc2.5-i686.tar.gz(这是32 位安装版,64 位安装版:mysql-cluster-advanced-7.3.2-linux-glibc2.5-x86_64.tar.gz)上传到/usr/local 2) 解压:tar zxvf mysql-cluster-advance...