mysql cluster (mysql 集群)安装配置方案

2024-08-23 17:38

本文主要是介绍mysql cluster (mysql 集群)安装配置方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、准备

1、准备服务器

计划建立有5个节点的MySQL CLuster体系,需要用到5台服务器,但是我们做实验时没有这么多机器,可以只用2台,我就是一台本机,一台虚拟机搭建了有5个节点的MySQL CLuster体系,将一个SQL节点一个数据节点一个SQL节点放在了一台服务器上(192.168.1.252),将另一个SQL节点和一个数据节点放在了另外一台服务器上(192.168.1.52)。

节点配置说明
节点 对应的IP和端口
管理节点(1个) 192.168.1.252
SQL节点 (2个) 192.168.1.252:3331
192.168.1.52:3331
数据节点 (2个) 192.168.1.252
192.168.1.52

2、准备软件包

现在的mysql提供了一个专门作集群的安装包,这样就不用一个个的下载所需要的工具了。我在网上找到了最新的而且下载比较快的资源,第一步先是下载,有200M左右。

cd /var/tmp

wget http
://mysql.ntu.edu.tw/Downloads/MySQL-Cluster-7.1/  

mysql
-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz

二、安装

1、数据节点和SQL节点

第一步 添加mysql用户和组,这是必需的。

groupadd mysql

useradd
-g mysql mysql

第二步 开始安装,下载的版本是免编译的,复制过来就可以用了。

cd /var/tmp

tar
-C /usr/local-zxvf mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz

cd
/usr/local

mv mysql
-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz mysql

第三步 在mysql修改目录权限,这也是必需的,不然第四步会报错的。

cd mysql

chown
-R root .

chown
-R mysql data

chgrp
-R mysql .

第四步 安装初始的数据库表

scripts/mysql_install_db --user=mysql

第五步 设置mysql服务为开机自启动

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod
+x /etc/rc.d/init.d/mysqld

chkconfig
--add mysqld

第六步 启动mysql服务,如果报错请参考

service mysqld start

这六步,在252和52服务器上都执行一次,数据节点和SQL节点就算安装好了。

2、管理节点

管理节点的安装更简单,只要在252服务器上复制些文件出来就行了,虽然只有一步,便这一步在目前环境下(管理节点和SQL节点在同一台服务器上)也不是必需的。

cd mysql

cp bin
/ndb_mgm*/usr/local/bin

cd
/usr/local/bin

chmod
+x ndb_mgm*

管理节点只要ndb_mgm和ndb_mgmd两个文件和一个配置文件即可,因此把这三个文件复制到那里,那里就是管理节点了。ndb_mgmd是mysql cluster管理服务器,ndb_mgm是客户端管理工具,等一下会用到它们的。到目前为止两个SQL节点两个数据节点和一个管理节点都安装完成了,但是还不能工作,得进行配置,把这几个节点联系在一起协同工作。

三、配置

1、数据节点和SQL节点

mysql服务启动时会默认加载/etc/my.cnf作为其配置文件,要将一个mysql服务器配置成一个数据节点和SQL节点也非常的简单,这是配置前的my.cnf的内容:

[client]

port    
=3306

socket  
=/tmp/mysql.sock

[mysqld]

basedir        
=/usr/local/mysql/

datadir        
=/usr/local/mysql/data

user            
= mysql

log
-error       =/var/lib/mysql/mysqld.err

 

只要在内容结尾加上4行就将这个mysql服务器变成了一个数据节点和SQL节点。

ndbcluster   #运行NDB存储引擎

#指定管理节点  以上两行声明其为SQL节点

ndb
-connectstring=192.168.1.252  

[mysql_cluster]

#指定管理节点  以上两行声明其为数据节点

ndb
-connectstring=192.168.1.252  

注意两台服务器都得这样配置。

2、管理节点

管理节点的配置复杂一点,在管理服务器252的/var/lib/mysql-cluster/目录中创建config.ini文件。

cd /var/lib

mkdir mysql
-cluster

cd mysql
-cluster

vim config
.ini

在config.ini文件中添加以下内容:

[NDBD DEFAULT]

NoOfReplicas=1    #每个数据节点的镜像数量

DataMemory=500M   #每个数据节点中给数据分配的内存

IndexMemory=300M  #每个数据节点中给索引分配的内存

[TCP DEFAULT]

portnumber
=2202   #数据节点的默认连接端口

[NDB_MGMD]        #配置管理节点

hostname
=192.168.1.252

datadir
=/var/lib/mysql-cluster/  #管理节点数据(日志)目录

[NDBD]            #数据节点配置

hostname
=192.168.1.252

datadir
=/usr/local/mysql/data/   #数据节点目录

[NDBD]

hostname
=192.168.1.52

datadir
=/usr/local/mysql/data/

[MYSQLD]   #SQL节点目录

hostname
=192.168.1.252

[MYSQLD]

hostname
=192.168.1.52

[NDBD DEFAULT]:表示每个数据节点的默认配置在每个节点的[NDBD]中不用再写这些选项,只能有一个。
[NDB_MGMD]:表示管理节点的配置,只有一个。
[NDBD]:表示每个数据节点的配置,可以有多个。
[MYSQLD]:表示SQL节点的配置,可以有多个,分别写上不同SQL节点的IP地址,也可以什么都不写,只保留一个空节点,表示任意一个IP地址都可以进行访问,此节点的个数表明了可以用来连接数据节点的SQL节点总数。

四、启动

1、管理节点

mysql cluster 需要各个节点都 进行启动后才可以工作,节点的启动顺序为管理节点->数据节点->SQL节点。首先启动管理节点

cd /usr/local/bin

./ndb_mgmd -f /var/lib/mysql-cluster/config.ini

命令行中的ndb_mgmd是mysql cluster的管理服务器,后面的-f表示后面的参数是启动的参数配置文件。如果在启动后过了几天又添加了一个数据节点,这时修改了配置文件启动时就必须加上--initial参数,不然添加的节点不会作用在mysql cluster中。

./ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

启动时可能会报个WARNING,如WARNING  -- at line 7: [TCP] portnumber is deprecated,这个不用管。可以正常工作的。

2、数据节点

安装后第一次启动数据节点时要加上--initial参数,其它时候不要加,除非是在备份、恢复或配置变化后重启时。

cd mysql/bin/ndbd --initial 

如果显示以下信息说明启动完成:

2010-12-31 12:48:03 [ndbd] INFO     -- Angel connected to '192.168.1.252:1186'
2010-12-31 12:48:03 [ndbd] INFO     -- Angel allocated nodeid: 3

3、SQL节点

service mysqld start

4、客户端管理

cd /usr/local/bin

./ndb_mgm

这时就进入到客户端,可以对mysql cluster进行各项操作,进入后会有ndb_mgm > 提示符出现,首先来查看各节点的连接情况,在ndb_mgm> 提示符下输入show:

ndb_mgm> show

ClusterConfiguration

---------------------

[ndbd(NDB)]     2 node(s)

id
=2    @192.168.1.252  (mysql-5.1.51 ndb-7.1.9,Nodegroup:0,Master)

id
=3    @192.168.1.52  (mysql-5.1.51 ndb-7.1.9,Nodegroup:1)

[ndb_mgmd(MGM)]1 node(s)

id
=1    @192.168.1.252  (mysql-5.1.51 ndb-7.1.9)

[mysqld(API)]   2 node(s)

id
=4    @192.168.1.252  (mysql-5.1.51 ndb-7.1.9)

id
=5    @192.168.1.52  (mysql-5.1.51 ndb-7.1.9)

可以看到各个节点已经连接上了,至此,mysql cluster配置完成。

五、关闭

mysql cluster的关闭也很简单,只需在ndb_mgm> 提示符下输入 shutdown即可,这时会显示各节点的关闭信息,再输入exit即可退出ndb_mgm管理,回到shell中。虽然mysql cluster 关闭了,但是SQL节点的mysql服务并不会停止的。接下来就可以做各种试验了。

这篇关于mysql cluster (mysql 集群)安装配置方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1100058

相关文章

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

SQL Server 查询数据库及数据文件大小的方法

《SQLServer查询数据库及数据文件大小的方法》文章介绍了查询数据库大小的SQL方法及存储过程实现,涵盖当前数据库、所有数据库的总大小及文件明细,本文结合实例代码给大家介绍的非常详细,感兴趣的... 目录1. 直接使用SQL1.1 查询当前数据库大小1.2 查询所有数据库的大小1.3 查询每个数据库的详

MySQL中REPLACE函数与语句举例详解

《MySQL中REPLACE函数与语句举例详解》在MySQL中REPLACE函数是一个用于处理字符串的强大工具,它的主要功能是替换字符串中的某些子字符串,:本文主要介绍MySQL中REPLACE函... 目录一、REPLACE()函数语法:参数说明:功能说明:示例:二、REPLACE INTO语句语法:参数

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

mysql5.7.15winx64配置全过程

《mysql5.7.15winx64配置全过程》文章详细介绍了MySQL5.7.15免安装版的配置步骤,包括解压安装包、设置环境变量、修改配置文件、初始化数据目录、安装服务、启动数据库、登录及密码修改... 目录前言一、首先下载安装包二、安android装步骤1.第一步解压文件2.配置环境变量3.复制my-

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据