ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Mysql Cluster7.3.7安装与配置

2021-04-09 20:56:57  阅读:150  来源: 互联网

标签:local Cluster7.3 ndb usr mysql Mysql 服务器 安装 节点


刚刚看到有人在群里问关于MySQL高可用集群的安装方法,有人在下面回复说:“上次搭建用了六天”,我把步骤总结了一下,希望你可以快一些

Mysql Cluster版本:mysql-cluster-gpl-7.3.7-linux-glibc2.5-x6_64.tar.gz

 

管理节点服务器1台

Sql服务器2台

Ndb服务器2台

 

首先修改所有服务器的hostname

Vi /etc/hosts

 

将节点服务器名配置为:MGM1

将Sql服务器配置为:SQL1,SQL2

将NDB服务器配置为:NDB1,NDB2

 

 

一、Sql节点以及Ndb节点安装步骤:

1.首先在节点服务器上安装Centos6.5,不要安装内置Mysql

2.从官方网站上下载Mysql Cluster,这里使用到的版本为Mysql Cluster7.4.6

3.创建用户群,groupadd mysql

4.创建用户,useradd -g mysql mysql

5.解压缩Mysql Cluster包,输入tar -zxvf mysql-cluster-gpl-7.4.6-linux-glibc2.5-x6_64.tar.gz

6.将解压缩后的包移入/usr/local内,输入cp mysql-cluster-gpl-7.4.6-linux-glibc2.5-x6_64 /usr/local/mysql

7.进入mysql文件夹,输入cd /usr/local/mysql

8.输入chown -R root *

9.输入chown -R mysql data

10.输入chgrp -R mysql *

11.安装mysql-cluster,输入scripts/mysql_install_db --user=mysql

12.注册mysql的service,输入cp support-files/mysql.server /etc/rc.d/init.d/mysqld

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

14.chkconfig --add mysqld

15.运行service mysqld start启动mysql

 

二、管理节点安装步骤:

1.在管理节点服务器完成上述sql节点和ndb节点安装步骤后,输入cd /usr/local/mysql进入目录

2.cp bin/ndb_mgm*/usr/local/bin

3.cd /usr/local/bin

4.chmod +x ndb_mgm*

 

三、配置sql节点和ndb节点

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

1.[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

2.在此基础上在最下方分别加入以下语句:

a) 如果是NDB服务器的情况下输入:

ndbcluster

ndb-connectstring=MGM1  

b) 如果是SQL节点服务器的情况下输入 

[mysql_cluster]

ndb-connectstring=MGM1 

注意所有服务器必须具有相同的配置

四、管理节点服务器的配置

1.cd /var/lib

2.mkdir mysql-cluster

3.vi config.ini,创建配置文件

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

[NDBD DEFAULT]

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

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

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

[TCP DEFAULT]

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

[NDB_MGMD]        #配置管理节点

hostname=MGM1

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

[NDBD]            #数据节点配置

hostname=NDB1

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

[NDBD]

hostname=NDB2

datadir=/usr/local/mysql/data/

[MYSQLD]   #SQL节点目录

hostname=SQL1

[MYSQLD]

hostname=SQL2 

 

注释:

[NDBD DEFAULT]:表示每个数据节点的默认配置在每个节点的[NDBD]中不用再写这些选项,只能有一个。

[NDB_MGMD]:表示管理节点的配置,只有一个。

[NDBD]:表示每个数据节点的配置,可以有多个。

[MYSQLD]:表示SQL节点的配置,可以有多个,分别写上不同SQL节点的IP地址,也可以什么都不写,只保留一个空节点,表示任意一个IP地址都可以进行访问,此节点的个数表明了可以用来连接数据节点的SQL节点总数。

 

五、启动

1.管理节点的启动:

a) Mysql cluster需要各个节点进行启动后方能够工作,节点的启动顺序为:管理节点——》NDB数据节点——》Sql节点。因此首先启管理节点

b) cd /usr/local/bin

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

d) 注意以上为第一次配置的情况下,如果新增节点,使用./ ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial进行加载,不然添加的节点不会出现在集群中

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

f) 启动后可以使用ndb_mgm -e show查看运行状态

2.NDB节点的启动

a) cd /usr/local/bin

b) ./ndbd --initial

c) 如果出现类似以下信息则表明成功连接到管理节点服务器:

2015-06-25 12:48:03 [ndbd] INFO     -- Angel connected to 'MGM1:1186'

2015-06-25 12:48:03 [ndbd] INFO     -- Angel allocated nodeid: 3

3.SQL节点的启动:

a) service mysqld start

4.客户端管理

a) 在管理服务器中输入cd /usr/local/bin/

b) ./ndb_mgm

c) 在ndb_mgm> 提示符下输入show:

 

ndb_mgm> show

 

ClusterConfiguration

 

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

 

[ndbd(NDB)]     2 node(s)

 

id=2    @NDB1 (mysql-5.6.24 ndb-7.4.6,Nodegroup:0,Master)

 

id=3    @NDB2 (mysql-5.6.24 ndb-7.4.6,Nodegroup:1)

 

[ndb_mgmd(MGM)]1 node(s)

 

id=1    @MGM1  (mysql-5.6.24 ndb-7.4.6)

 

[mysqld(API)]   2 node(s)

 

id=4    @SQL1  (mysql-5.6.24 ndb-7.4.6)

 

id=5    @SQL2  (mysql-5.6.24 ndb-7.4.6)

5.关闭mysql cluster

a) cd /usr/local/bin

b) ./ndb_mgm -e shutdown

c) 虽然mysql cluster 关闭了,但是SQL节点的mysql服务并不会停止的。接下来就可以做各种试验了。

如果需要更详细的文档,欢迎再后台留言我会发给你。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

标签:local,Cluster7.3,ndb,usr,mysql,Mysql,服务器,安装,节点
来源: https://blog.51cto.com/xinsz08/2695215

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有