首页 > 数据库 > MySQL > 正文

MySQL集群创建实现高可用

2024-07-24 12:32:24
字体:
来源:转载
供稿:网友
      MySQL集群概述和安装环境
      MySQL Cluster是MySQL适合于分布式计算环境的高实用、高冗余版本。Cluster的汉语是"集群"的意思。它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。
  
      存储/数据节点: 保存cluster中的数据。 数据节点,可以提供副本。实现数据冗余。
 
       管理节点(MGM): 管理整个集群。 启动,关闭集群。 通过ndb_mgmd命令启动集群
 
       在我们做的实验中mysql cluster集群各机器角色如下分配:
 
mysql 管理结点:xuegod63.cn IP:192.168.1.63 (安装server、client)
 
mysql 数据结点:xuegod64.cn IP:192.168.1.64 (安装server、client)
 
环境清理以及安装
这一部分虽然是初始过程但是比较复杂,请大家耐心配置。
 
所有主机上执行下面内容:
 
首先我们要清除旧版本,然后安装mysql cluster,最后是文件权限管理。
 
1.mysql旧版本清除
 
首先使用如下命令来清理之前操作系统自带的mysql安装:
 
最后删掉下列文件:
 
rm -rf  /var/lib/mysql/*
 
rm -rf  /etc/my.cnf
 
rm -rf  /etc/init.d/mysqld
 
vim  /etc/profile 删除与mysql相关内容
 
2. mysql cluster 7.5版本安装
 
2.1上传并安装最新的EPEL源 和 mysql社区版源安装包
 
[root@xuegod63 ~]# rpm -ihv epel-release-7-10.noarch.rpm
 
[root@xuegod63 ~]# rpm -ihv mysql57-community-release-el7-11.noarch.rpm
 
2.2开启mysql cluster 源
 
[root@xuegod63 ~]# sed -i "55s/0/1/g" /etc/yum.repos.d/mysql-community.repo
 
2.3刷新yum源缓存
 
[root@xuegod63 ~]# yum clean all && yum list
 
2.4安装解决Cluster的依赖包
 
[root@xuegod63 ~]# yum install -y perl perl-Class-MethodMaker perl-DBI libaio numactl
 
2.5安装Mysql Cluster
 
[root@xuegod63 ~]# yum install -y mysql-cluster-community-server
 
2.6查看安装路径
 
[root@xuegod63 ~]# rpm -ql mysql-cluster-community-server
 
其他4台主机上重复2.1—2.5的步骤
 
3.数据节点主机都要安装数据节点的相关包(2台)
 
[root@xuegod64 ~]# yum install -y mysql-cluster-community-data-node
 
[root@xuegod65 ~]# yum install -y mysql-cluster-community-data-node
 
4. 管理节点安装management管理包
 
[root@xuegod63~]# yum -y install mysql-cluster-community-management-server
 
5.创建文件夹
 
管理节点创建配置目录:
 
[root@xuegod63~]# mkdir -p /usr/mysql-cluster/
 
搭建mysql集群
1.1 各个机器上的配置
 
我们先将需求配置到各台机器上
 
1.xuegod63创建管理节点上配置文件
 
[root@xuegod63 ~]vim /usr/mysql-cluster/config.ini #写入以下内容
 
[ndbd default]
 
NoOfReplicas=2 #数据写入数量。2表示两份
 
DataMemory=200M #配置数据存储可使用的内存
 
IndexMemory=100M #索引给100M
 
[ndb_mgmd]
 
nodeid=1
 
datadir=/var/lib/mysql #管理结点的日志
 
HostName=192.168.1.63 #管理结点的IP地址。本机IP
 
###### data node options: #存储结点
 
[ndbd]
 
HostName=192.168.1.64
 
DataDir=/var/lib/mysql #mysql数据存储路径
 
nodeid=2
 
[ndbd]
 
HostName=192.168.1.65
 
DataDir=/var/lib/mysql #mysql数据存储路径
 
nodeid=3
 
# SQL node options: #关于SQL结点
 
[mysqld]
 
HostName=192.168.1.66
 
nodeid=4
 
[mysqld]
 
HostName=192.168.1.67
 
nodeid=5
 
在这个文件里,分别给五个节点分配了ID,这有利于更好的管理和区分各个节点。当然,要是不指定,MySQL也会动态分配一个
 
2.xuegod64、xuegod65数据节点
 
[root@xuegod64 /]# vim /etc/my.cnf        #请配置xuegod65一样
 
[root@xuegod65 /]# vim /etc/my.cnf    
 
[mysqld]
 
datadir=/var/lib/mysql #mysql数据存储路径
 
ndbcluster #启>动ndb引擎
 
ndb-connectstring=192.168.1.63 # 管理节点IP地址
 
[mysqld_safe]
 
log-error=/var/log/mysqld.log
 
pid-file=/var/run/mysqld/mysqld.pid
 
[mysql_cluster]
 
ndb-connectstring=192.168.1.63 #管理节点IP地址

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表