经典Mysql-cluster数据库集群搭建(linux)

来源:互联网 发布:手机借款软件 编辑:程序博客网 时间:2024/06/06 12:38

介绍

       集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。

        MySQL集群技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对系统产生巨大的负面效应,系统的稳定性得到保障。



       一个mysql集群包含三个节点:管理节点,数据节点和sql节点。

       启动顺序为:管理节点,数据节点,sql节点。

       管理节点只能一个,数据节点和sql节点可以根据需要设置个数。

       管理节点:(也可以称管理服务器)主要负责管理数据节点和SQL节点,还有集群配置文件和集群日志文件。它监控其他节点的工作状态,能够启动、关闭或重启某个节点。其他节点从管理节点检索配置数据,当数据节点有新事件时就把事件信息发送给管理节点并写入集群日志。

       数据节点:负责存储数据

       SQL节点:通过它进行sql操作。


安装

系统:Linux CentOS7.4

查看是否安装mysql
rpm -qa | grep mysql
普通删除
rpm -e mysql
强力删除
rpm -e --nodeps mysql
通过wget安装
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.8-linux-glibc2.12-x86_64.tar.gz
(如果没有安装wget,执行yum -y install wget
解压
tar xvf mysql-cluster-gpl-7.5.8-linux-glibc2.12-x86_64.tar.gz
新建文件夹
(用于NDB)
mkdir /usr/local/mysql-cluster
mkdir /usr/local/mysql-cluster/logs
mkdir /usr/local/mysql-cluster/data
(用于Mysql)
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
mkdir /usr/local/mysql/data/mysql

一句话: 
mkdir /usr/local/mysql-cluster /usr/local/mysql-cluster/logs /usr/local/mysql-cluster/data /usr/local/mysql /usr/local/mysql/data /usr/local/mysql/data/mysql

复制程序
cp  mysql-cluster-gpl-7.5.8-linux-glibc2.12-x86_64/bin/ndb_mgm* /usr/local/mysql-cluster
cp  mysql-cluster-gpl-7.5.8-linux-glibc2.12-x86_64/bin/ndbd /usr/local/mysql-cluster
cp -r mysql-cluster-gpl-7.5.8-linux-glibc2.12-x86_64/. /usr/local/mysql

管理节点配置
新建配置文件
vi  /usr/local/mysql-cluster/config.ini
------------------------------------------------------------------
[ndbd default]
NoOfReplicas=1
DataMemory=120M
IndexMemory=20M

[ndb_mgmd]
HostName=192.168.1.1
DataDir=/usr/local/mysql-cluster/logs

[ndbd]
HostName=192.168.1.1
DataDir=/usr/local/mysql-cluster/data

[mysqld]
HostName=192.168.1.1

[ndbd]
HostName=192.168.1.2
DataDir=/usr/local/mysql-cluster/data

[mysqld]
HostName=192.168.1.2

[mysqld]

-------------------------------------------------------------------
开始编辑  insert键
退出编辑  esc键
保存退出  :wq
强制退出  :q!

数据节点配置
vi  /usr/local/mysql/support-files/my-default.cnf
--------------------------------------------------------------------
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data/mysql
port = 3306

ndbcluster
ndb-connectstring=192.168.1.1

[mysql_cluster]
ndb-connectstring=192.168.1.1

[ndbd]
ndb-connectstring=192.168.1.1

--------------------------------------------------------------------
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

启动

管理节点
/usr/local/mysql-cluster/ndb_mgmd --configdir=/usr/local/mysql-cluster -f /usr/local/mysql-cluster/config.ini --initial --reload
/usr/local/mysql-cluster/ndb_mgm -e show    查看和管理
数据节点
/usr/local/mysql-cluster/ndbd --initial
SQL节点
新增用户组mysql和用户msyql
groupadd mysql
useradd -g mysql mysql
#(如果没有权限,可登录root去新增)
cd /usr/local/mysql
#修改文件权限
chown -R mysql:mysql ./
#初始化mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/mysql
(如果data ..有数据则新建data和data/mysql)
出现以下信息则标示成功
[Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 82246b8e-e62b-11e7-b5ad-000c29aa8807.
[Note] A temporary password is generated for root@localhost:hWuJyniWd3
,.
记下UUID和密码
#复制mysql到服务自动启动里面
cp support-files/mysql.server /etc/init.d/mysqld
#修改权限为755 也就是root可以执行
chmod 755 /etc/init.d/mysqld
#复制配置文件到etc下,因为默认启动先去etc下加载配置文件
cp support-files/my-default.cnf /etc/my.cnf

启动mysql服务
service mysqld start

阅读全文
0 0