mysql集群部署 (四台机器)
1、环境描述
Mysql manager 节点:192.168.0.1
MysqlServer节点:192.168.0.100
Mysql 节点:192.168.0.160
Mysql 节点:192.168.0.161
说明:至少需要四台服务器才可以做mysql的集群。建议5台,再增加一台MysqlServer。
2、安装mysql二进制包
2.1 安装之前的准备工作
下载mysql-max-4.1.13-pc-linux-gnu-i686.tar.gz包
(注意:可以做集群的mysql都是mysql-max的,下载地点www.mysql.org)
#groupadd mysql
#useradd -g mysql mysql
#cd /usr/local
#tar xfz mysql-max-4.1.13-pc-linux-gnu-i686.tar.gz
#ln -s /usr/local/mysql-max-4.1.13-pc-linux-gnu-i686 /opt/mysql4.1.13
2.2 分别在manager,server,node节点上安装二进制的mysql包
#cd mysql4.1.13
#scripts/mysql_install_db --user=mysql (必须带目录执行,否则出错)
#chown -R root /opt/mysql4.1.13
#chgrp -R mysql /opt/mysql4.1.13
#chown -R mysql.mysql /opt/mysql4.1.13/data
#cp support-files/mysql.server /etc/rc.d/init.d/ 配置mysql启动设置
#chmod +x /etc/rc.d/init.d/mysql.server
#chkconfig --add mysql.server
3、配置server,note节点
在192.168.0.160和192.168.0.161机器上
# ./mysql –help 该命令可以查看mysql启动时是怎么寻找my.cnf文件的顺序。
Default options are read from the following files in the given order:
/etc/my.cnf /usr/local/mysql-max-4.1.13/data/my.cnf ~/.my.cnf
# cp support-files/my-medium.cnf data/my.cnf 将mysql的配置文件考到data下
Vi /usr/local/mysql-max-4.1.13-pc-linux-gnu-i686/data/my.cnf
[MYSQLD]
ndbcluster
ndb-connectstring=192.168.0.1
[MYSQL_CLUSTER]
ndb-connectstring=192.168.0.1
4、配置Management管理节点
在192.168.0.1机器上
#mkdir /var/lib/mysql-cluster
#cd /var/lib/mysql-cluster
#vi config.ini
[NDBD DEFAULT] # Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
DataMemory=80M # How much memory to allocate for data storage
IndexMemory=52M # How much memory to allocate for index storage
# For DataMemory and IndexMemory, we have used the
# default values. Since the "world" database takes up
# only about 500KB, this should be more than enough for
# this example Cluster setup.
[TCP DEFAULT] # TCP/IP options:
portnumber=2202 # This the default; however, you can use any
# port that is free for all the hosts in cluster
# Note: It is recommended beginning with MySQL 5.0 that
# you do not specify the portnumber at all and simply allow
# the default value to be used instead
# Management process options(定义管理节点.)
[NDB_MGMD]
hostname=192.168.0.1 # 管理节点Hostname or IP address of MGM node
datadir=/var/lib/mysql-cluster # Directory for MGM node logfiles
# Options for data node "A"(定义群集数据节点.)
# (one [NDBD] section per data node)
[NDBD]
hostname=192.168.0.160 # 节点Hostname or IP address
datadir=/usr/local/mysql/data # Directory for this data node's datafiles
# Options for data node "B"(定义群集数据节点.)
[NDBD]
hostname=192.168.0.161 # 节点Hostname or IP address
datadir=/usr/local/mysql/data # Directory for this data node's datafiles
# SQL node options(定义Sql server节点.)
[MYSQLD]
hostname=192.168.0.100 # SQL节点Hostname or IP address
#datadir=/usr/local/mysql/data # Directory for SQL node's datafiles
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
[NDB_MGMD]:后面不能有任何注释信息,否则提示:
Error line 17: [TCP] Unknown parameter: [NDB_MGMD] # Management process options
Error line 17: Could not parse name-value pair in config file.
[SHM]: Defines shared-memory connections between nodes. 在MySQL 4.1.9之前,这个功能必须使用--with-ndb-shm option编译进去, 从MySQL 4.1.9-max版本开始, it is enabled by default
5、启动mysql集群
5.1 初始化启动mysql集群服务
1)启动MysqlManagement管理节点(192.168.0.1)
#ndb_mgmd -f /var/lib/mysql-cluster/config.ini
2)启动Data Node节点(192.168.0.160,192.168.0.161)
#ndbd --initial
(注意:这个参数只能在第一次启动DataNode节点时使用,因为—initial参数会删除一些ndbd 实例先前创建的所有文件)
3)启动MysqlServer节点(192.168.0.100)
# ./mysql.server start
5.2 重启mysql集群服务
1)启动MysqlManagement管理节点(192.168.0.1)
#ndb_mgmd -f /var/lib/mysql-cluster/config.ini
2)启动Data Node节点(192.168.0.160,192.168.0.161)
#ndbd
3)启动MysqlServer节点(192.168.0.100)
# ./mysql.server start
(注意:Management管理节点和DataNote节点都不开启mysql服务,只有MysqlServer节点开启。The default port for Cluster management nodes is 1186; the default port for data nodes is 2202.)
6、测试集群的效果
6.1 在管理机上查看各节点运行状况
[root@Proxy bin]# ./ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
[ndbd(NDB)] 2 node(s)
id=2 @192.168.0.160 (Version: 4.1.13, Nodegroup: 0, Master)
id=3 @192.168.0.161 (Version: 4.1.12, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.0.1 (Version: 4.1.13)
[mysqld(API)] 1 node(s)
id=4 @192.168.0.100 (Version: 4.1.12)
6.2 模拟写入一个数据库表,各MysqlServer节点是否能够同步
1) 在一个MysqlServer节点上创建数据库world和表,然后看看另一个MysqlServer节点是否也同样可以看到。
答:数据都相同
2) 拔掉一个DataNote节点网线,看看两台MysqlServer节点是否还能正常工作。
答:可以
3) 拔掉两台DataNote节点网线,查看一下MysqlServer节点是否还能正常工作。
答:所有MysqlServer都不能正常工作
相关推荐
### Galera Cluster for MySQL 集群部署方案详解 #### 一、Galera Cluster 概述 Galera Cluster 是一种用于 MySQL 的高可用性、高性能的解决方案,它通过多节点同步复制来提供高可用性和灾难恢复能力。Galera 的...
### MySQL集群部署详解 #### 概述 MySQL集群在企业级应用中扮演着至关重要的角色,尤其是在需要处理大规模数据读写请求的情况下。本文档详细介绍了MySQL异步集群的部署过程,该集群适用于低并发写入但高并发读取的...
Mysql集群部署主节点配置文件
高性能MySQL集群部署.pdf
MySQL集群部署:高可用性与扩展性之路.md
Windows环境下MySQL集群的搭建,使用了三个节点,第一个节点作为管理节点,第二个节点作为数据节点A和SQL节点A,第三个节点作为数据节点B和SQL节点B。 此外,还演示了如何使用图形化客户端管理MySQL集群,新建数据库...
MySQL集群配置教程旨在帮助初学者理解并实现MySQL集群的搭建,让数据库的高可用性和负载均衡成为可能。MySQL集群(MySQL Cluster)是一种分布式事务处理系统,它提供了数据复制和分区,确保了数据的一致性和可用性。...
MYSQL分库分表、高可用架构实战,适合新手,可以用来学习、交流
在现代云原生环境中,Kubernetes(简称K8s)被广泛用于自动化容器化应用的部署、扩展和管理。MySQL作为流行的开源关系型数据库...正确配置和管理yaml文件,结合Kubernetes的特性,可以构建出高效、可靠的MySQL集群。
### MySQL集群7.1.29配置文档详解 #### 概述 MySQL集群技术是一种用于构建高可用性和高性能数据库解决方案的技术。它通过将多个MySQL服务器连接在一起形成一个集群,从而提高系统的整体性能和可靠性。本篇文章将...
2、支持伪集群部署 3、支持分布式集群部署 4、支持数据目录、端口、密码参数灵活配置 5、支持创建、启动、停止、重启、检测、卸载mysql集群状态 说明:工具使用非常简单,只需要修改变量文件,一分钟就可以快速帮你...
mysql_cluster双机集群
为5台机器全部安装64位centos6.4并配置好网络: 数据库Master主服务器(两台):10.18.12.152,10.18.12.153 数据库Slave从服务器(两台,即sql及存储节点):10.18.12.154,...MySQL-Proxy调度服务器:10.18.12.157
在本篇中,我们将深入探讨如何在CentOS7环境下部署MySQL集群,具体为1个管理节点加2个数据节点和2个SQL节点的配置。首先,我们从环境清理和准备工作开始,然后逐步进行软件安装、配置以及启动服务。 1. **环境清理...
以下是对标题“MySQL NDB集群部署与维护”中所涉及知识点的详细说明: 1. NDB集群概念 NDB集群中的节点指的是运行着特定进程的计算机或虚拟机。集群由不同类型的节点组成,每种节点都有其特定的功能: - 管理节点...
MySQL 高可用集群部署项目 MySQL 高可用集群部署项目是指通过部署多个 MySQL 实例,实现高可用性和读写分离,以提高数据库的可用性和性能。该项目主要涉及到 MySQL 的主从同步、MaxScale 读写分离和 Keepalived+DR...