mysql集群,附件是个整体架构图
集群分为:数据节点(ndbd),管理节点(mgmd),服务节点(mysqld)
1. 下载:http://dev.mysql.com/downloads/mysql/5.0.html#linux 可以从这里下载 mysql-5.0.45-linux-i686.tar.gz
此包里已经包含了mysql-max包(mysql集群需要安装mysql-max包)。
2. 解压:
- tar -zxvf apache-tomcat-5.5.25.tar.gz
下载的这个.tar.gz是编译后的文件,只需要解压即可。
3. 比如解压后的文件都放在:/home/mahaibo/mysql-5.0.45-linux-i686目录下 ,我们可以直接通过./configure来启动mysqld服务。可以查看下configure文件的内容: vi configure
java 代码
- #!/bin/sh
- if test ! -x ./scripts/mysql_install_db
- then
- echo "I didn't find the script './scripts/mysql_install_db'."
- echo "Please execute this script in the mysql distribution directory!"
- exit 1;
- fi
-
- echo "NOTE: This is a MySQL binary distribution. It's ready to run, you don't"
- echo "need to configure it!"
- echo ""
- echo "To help you a bit, I am now going to create the needed MySQL databases"
- echo "and start the MySQL server for you. If you run into any trouble, please"
- echo "consult the MySQL manual, that you can find in the Docs directory."
- echo ""
-
- ./scripts/mysql_install_db --no-defaults
- if [ $? = 0 ]
- then
- echo "Starting the mysqld server. You can test that it is up and running"
- echo "with the command:"
- echo "./bin/mysqladmin version"
-
- ./bin/mysqld_safe --no-defaults &
- fi
可以看到:它实际是上先执行./scripts/mysql_install_db,然后在去通过./bin/mysqld_safe去启动mysql服务的,用的参数是--no-defaults,也就是默认会去根据/etc/my.cnf这个配置文件进行启动,并且生成的sock端口会放在/tmp/mysql.sock.
如果想让mysql启动时调用自己指定的my.cnf的位置。可以把configure文件内容里的./bin/mysqld_safe --no-defaults &修改为:
- ./bin/mysqld_safe --defaults-file=my.cnf & #当前目录下的my.cnf,也可以自己指定绝对路径
vi my.cnf (最好不要以root身份来启动./configure,以./configure所属的用户来启动,此时.cnf注意:o不能有写的权限,即o-w)
- [mysqld]
-
- port = 3307
- socket = /home/mahaibo/mysql-5.0.45-linux-i686/mysql.sock (mysql的sock端口)
- datadir = /home/mahaibo/mysql-5.0.45-linux-i686/data
-
- skip-locking
- key_buffer = 16M
- max_allowed_packet = 1M
- table_cache = 64
- sort_buffer_size = 512K
- net_buffer_length = 8K
- read_buffer_size = 256K
- read_rnd_buffer_size = 512K
- myisam_sort_buffer_size = 8M
4.配置了4个服务3306,3307,3308,3309
3306作为mysqld (configure3)
3308,3309作为ndbd节点 (configure1,configure2)
3307作为ndbd-mgmd(管理节点) (configure0)
在3306的mysqld服务的my.cnf里添加
- # Options for mysqld process:
- [MYSQLD]
- ndbcluster # run NDB engine
- ndb-connectstring=127.0.0.1 # location of MGM node,也就是mgmd,ndb的manager节点
如果配置里加上了这个这段配置的话,因为配置了ndbcluster引擎,所以只要一个engine连接不上,所有的都连接不上。
所以如果ndbd节点没有启动的话,在3306的机器上create表,无论mysql引擎采用什么(innodb,myisam,ndbcluster) 都将创建失败。
./configure3 启动mysqld节点,3306端口
mysql -uroot -S./mysql3.sock
show variables like 'have%';
可以看到have_ndbcluster 为YES ,说明已经打开。
5. 启动ndbd_mgmd
建立一个配置文件:mgmd.cnf(文件名自己定义),
- [NDBD DEFAULT]
- NoOfReplicas=1 # Number of replicas
- DataMemory=80M # How much memory to allocate for data storage
- IndexMemory=18M # 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/IP options:
- [TCP DEFAULT]
- #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=127.0.0.1 # Hostname or IP address of MGM node
- datadir=/home/mahaibo/mysql-5.0.45-linux-i686/mgmddata # Directory for MGM node logfiles
- PortNumber=2203 #default 1186
- # Options for data node "A":
- [NDBD]
- # (one [NDBD] section per data node)
- hostname=127.0.0.1 # Hostname or IP address
- datadir=/home/mahaibo/mysql-5.0.45-linux-i686/ndbddata # Directory for this data node's datafiles
- #ServerPort=3308
- # Options for data node "B":
- #[NDBD]
- #hostname=127.0.0.1 # Hostname or IP address
- #datadir=/home/mahaibo/mysql-5.0.45-linux-i686/ndbddata # Directory for this data node's datafiles
- #ServerPort=3309
- # SQL node options:
- [MYSQLD]
- hostname=127.0.0.1 # Hostname or IP address
- # (additional mysqld connections can be
- # specified for this node for various
- # purposes such as running ndb_restore)
- #PortNumber=3306
启动:
- ./ndb_mgmd -f ../mgmd.cnf
通过ndb_mgm这个客户端来链接:
链接后进入ndb_mgm命令窗口:
- ndb_mgm> show
- Connected to Management Server at: 127.0.0.1:2203
- Cluster Configuration
- ---------------------
- [ndbd(NDB)] 1 node(s)
- id=2 (not connected, accepting connect from 127.0.0.1)
-
- [ndb_mgmd(MGM)] 1 node(s)
- id=1 @127.0.0.1 (Version: 5.0.45)
-
- [mysqld(API)] 1 node(s)
- id=3 (not connected, accepting connect from 127.0.0.1)
-
- ndb_mgm> exit
- ndb_mgm> 1 status
- Connected to Management Server at: 127.0.0.1:2203
- Node 1: connected (Version 5.0.45)
-
- ndb_mgm> 2 status
- Node 2: not connected
-
- ndb_mgm> 3 status
- Node 3: not connected
-
- ndb_mgm> 4 status
- 4: Node not found
- 大小: 60.5 KB
分享到:
相关推荐
本教程将深入探讨如何将Spring、Ibatis框架与MySQL集群集成,以实现高效、可靠的数据库操作。 首先,让我们了解Spring和Ibatis。Spring是一个全面的Java应用开发框架,它提供了依赖注入、面向切面编程、事务管理等...
### CentOS 7 搭建 MySQL 集群详解 #### 一、概述 随着业务规模的扩大,单一数据库服务器往往难以满足高并发、大数据量的需求。为了提高系统的可用性和性能,采用 MySQL 集群成为一种常见的解决方案。本文将详细...
MySQL集群是一种分布式数据库解决方案,旨在提高数据的可用性、可扩展性和容错性。在本方案中,我们将探讨MySQL集群的构建、工作原理以及其在实际应用中的优势和挑战。 一、MySQL集群概述 MySQL集群(MySQL ...
MySQL 集群环境搭建 MySQL 集群环境搭建是指将多台服务器组合成一个高性能、可靠的数据库系统,以实现高可用性和高性能。该系统可以分担客户的访问压力,自动进行数据分区和负载均衡,实现线性数据库扩展。 1. ...
"Linux MySQL集群环境搭建" 在Linux系统下,MySQL集群的搭建是一个复杂的过程,它需要oroughly了解MySQL集群的概念、架构和配置。在本文中,我们将详细介绍MySQL集群的概念、架构、环境配置、安装和配置MySQL集群...
MySQL集群化是一种确保数据库系统高可用性、高性能和可扩展性的技术。它允许一个数据库环境由多个服务器组成一个统一的集群,从而可以在发生故障时自动切换到健康的节点,提高数据处理能力和可靠性。在标题中提到的...
MySQL集群配置教程旨在帮助初学者理解并实现MySQL集群的搭建,让数据库的高可用性和负载均衡成为可能。MySQL集群(MySQL Cluster)是一种分布式事务处理系统,它提供了数据复制和分区,确保了数据的一致性和可用性。...
MySQL集群是一种用于提高数据库服务可用性和性能的技术,它通过分散数据和处理负载来实现这一目标。在本篇文章中,我们将探讨8种不同的MySQL集群方案,分析它们的特点、优缺点以及适用场景。 1. **MySQL主从复制...
### Galera Cluster for MySQL 集群部署方案详解 #### 一、Galera Cluster 概述 Galera Cluster 是一种用于 MySQL 的高可用性、高性能的解决方案,它通过多节点同步复制来提供高可用性和灾难恢复能力。Galera 的...
MySQL集群是一种高性能、高可用性的数据库集群技术,它通过将多个MySQL数据库实例组成一个集群来提供数据的冗余和故障转移能力。在评估MySQL集群的实施之前,了解其架构、组件以及它们之间的交互是非常必要的。 ...
在本篇中,我们将深入探讨如何在CentOS7环境下部署MySQL集群,具体为1个管理节点加2个数据节点和2个SQL节点的配置。首先,我们从环境清理和准备工作开始,然后逐步进行软件安装、配置以及启动服务。 1. **环境清理...
在Linux环境中安装MySQL集群是一项复杂但重要的任务,它能够提供高可用性和数据冗余,确保数据库服务的稳定性和性能。以下是对安装过程的详细描述: 首先,你需要一个支持MySQL集群的Linux发行版。描述中没有明确...
MYSQL 集群 MYSQL 集群是大型网站架构的设计方案的核心组件之一,旨在提高数据库的高可用性和可扩展性。在本文中,我们将详细介绍 MYSQL 集群的配置和实现过程。 在开始之前,我们需要了解 MYSQL 集群的基本概念。...
### MySQL集群7.1.29配置文档详解 #### 概述 MySQL集群技术是一种用于构建高可用性和高性能数据库解决方案的技术。它通过将多个MySQL服务器连接在一起形成一个集群,从而提高系统的整体性能和可靠性。本篇文章将...
MySQL 集群节点、节点组、数据副本、以及分区 在 MySQL 集群中,节点是指存储着数据副本的 ndbd 进程,也就是一个指到节点组中节点的分区的拷贝。每个数据节点应该部署在独立的计算机上,以确保高可用性和避免单点...
Windows环境下MySQL集群的搭建,使用了三个节点,第一个节点作为管理节点,第二个节点作为数据节点A和SQL节点A,第三个节点作为数据节点B和SQL节点B。 此外,还演示了如何使用图形化客户端管理MySQL集群,新建数据库...
### CentOS 6.3 安装 MySQL 集群详细指南 #### 一、环境概述与准备工作 在本文档中,我们将详细介绍如何在 CentOS 6.3 系统上搭建 MySQL 集群。该集群易于搭建且基于内存运行,不需要共享存储,非常适合对性能有较...