一 、 MySQL Cluster 集群部署

MySQL Cluster 集群部署   部署教程

一、环境说明: CentOS7.x(64位) + MySQL Cluster 7.6.6,规划5台机器,资料如下:

节点分布情况
192.168.24.138 MGM
192.168.24.139 NDBD1
192.168.24.140 NDBD2
192.168.24.141 SQL1
192.168.24.142 SQL2

二、下载安装包:

主要有三种类型的安装包:1:rpm安装包;2:预编译二进制安装包; 3:源码包。 这里选择第二种安装包“预编译二进制安装包”,它只需要解压即可。

先官网下载页面 http://dev.mysql.com/downloads/cluster/ ,选择 Linux - Generic 下面的 mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64.tar.gz 这个安装包!

注意:我的CentOS是32位的,如果是64位系统则应该下载64位的安装包 mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64.tar.gz 。

 

三、环境清理(在各台服务器上都要执行)

清除MySQL旧版本:

首先使用如下命令来清理之前操作系统自带的MySQL安装:

[root@localhost src]# yum remove mariadb-libs -y
[root@localhost src]# rm /etc/my.cnf  -rf

四、软件准备(在各台服务器上都要执行)

        4.1 将 mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64.tar.gz  上传到各服务器的某个目录下(如 /usr/local/src ) 下面,然后解压并移到 /usr/local/mysql 目录下

tar -xzvf /usr/local/src/mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64.tar.gz
mv /usr/local/src/mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64/* /usr/local/mysql

      4.2 新建mysql用户及用户组: 

groupadd mysql
useradd -g mysql  -M -s /usr/sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql

  4.3 安装 My Cluster:

cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysqlcluster --datadir=/usr/local/mysqlcluster/data

  4.4 关闭防火墙(IPTABLES)与 selinux

           # 关闭防火墙

centos 6.x
chkconfig iptables off 
service iptables stop
 
centos 7.x 
systemctl stop firewalld
systemctl  disable firewalld

     # 关闭 selinux

vim /etc/selinux/config  #(改为SELINUX=disabled)保存退出,

    # 重启服务器

reboot 或者 init 6

五、配置节点

         5.1 配置管理节点(192.168.24.138)

             # 删除自带的 /etc/my.cnf  【切记:一定要删除掉! 因为ndb_mgmd启动的时候,也会加上/etc/my.cnf的配置内容,干扰我们,所以要删除它】

     rm -rf /etc/my.cnf

     # 新建配置文件存放目录

    mkdir /usr/local/mysql/etc
    chown mysql:mysql /usr/local/mysql/etc

   # 创建配置文件 config.ini    

   vim /usr/local/mysql/etc/config.ini

     # config.ini内容如下: 

[ndb_mgmd default]
datadir = /usr/local/mysql/data

[ndbd default]
NoOfReplicas = 2
DataMemory = 80M
IndexMemory = 18M
datadir = /usr/local/mysql/data


[ndb_mgmd]
NodeId = 1
HostName = 192.168.24.138

[ndbd]
NodeId = 11  
HostName = 192.168.24.139

[ndbd]
NodeId = 12
HostName = 192.168.24.140

[mysqld]
NodeId = 81
HostName = 192.168.24.141

[mysqld] 
NodeId = 82
HostName = 192.168.24.142

   5.2 配置数据节点(192.168.24.141、192.168.24.142)

      # 修改配置文件   

vim /etc/my.cnf

   # my.cnf内容如下:

[mysqld]
ndbcluster
ndb-connectstring = 192.168.24.138

[mysql_cluster]
ndb-connectstring = 192.168.24.138

5.3 配置SQL节点(192.168.24.139、192.168.24.140)

   # 拷贝启动文件

cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

 # 修改配置文件

vim /etc/my.cnf

  # my.cnf内容如下:

[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data

ndbcluster
ndb-connectstring = 192.168.24.138

[mysql_cluster]
ndb-connectstring = 192.168.24.138

六、启动节点

启动需要按照如下顺序进行:

 Management Node > Data Node > SQL Node    管理节点 -> 数据节点 -> SQL节点

6.1 启动管理节点(192.168.24.138)

     # --initial 首次加载、/usr/local/mysql/etc/config.ini文件有改变,其它时候不要加,除非是在备份、恢复或配置变化后重启时,其他时候不要加,不然数据就清空。。。

/usr/local/mysql/bin/ndb_mgmd  -f  /usr/local/mysql/etc/config.ini --initial

     # 正常启动方式

/usr/local/mysql/bin/ndb_mgmd  -f  /usr/local/mysql/etc/config.ini

  其他常用操作:

           #查看ndb_mgmd是否启动

  [root@localhost mysql]# ps -ef | grep ndb_mgmd
  root      2948     1  1 23:47 ?        00:00:03 /usr/local/mysql/bin/ndb_mgmd -f /usr/local/mysql/etc/config.ini
  root      2984  2073  0 23:52 pts/0    00:00:00 grep ndb_mgmd
  [root@localhost mysql]#

  #ndb_mgmd默认启动 1186 端口

[root@localhost mysql]# netstat -ntlp | grep ndb_mgmd
tcp        0      0 0.0.0.0:1186                0.0.0.0:*                   LISTEN      2948/ndb_mgmd      
[root@localhost mysql]#

6.2 启动数据节点(192.168.24.139、192.168.24.140) 

  # 只是在第一次启动或在备份/恢复或配置变化后重启ndbd时,才加–initial参数!

/usr/local/mysql/bin/ndbd --initial

  # 正常启动方式

/usr/local/mysql/bin/ndbd

  # 查看 ndbd 启动状态

[root@localhost ~]# ps -ef | grep ndbd
root      2373     1  0 18:11 ?        00:00:00 /usr/local/mysql/bin/ndbd
root      2377  1985  0 18:11 pts/0    00:00:00 grep ndbd

6.3 启动SQL节点(192.168.24.141、192.168.24.142)

   # 启动 SQL 节点

service mysqld start

6.4  查看集群状态

[root@localhost mysql]# /usr/local/mysql/bin/ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]    2 node(s)
id=11 (not connected, accepting connect from 192.168.24.138)
id=12 (not connected, accepting connect from 192.168.24.140)
 
[ndb_mgmd(MGM)]    1 node(s)
id=1    @192.168.137.101  (mysql-5.6.17 ndb-7.3.5)
 
[mysqld(API)]    3 node(s)
id=81 (not connected, accepting connect from 192.168.24.141)
id=82 (not connected, accepting connect from 192.168.24.142)
id=83 (not connected, accepting connect from any host)

 

其他辅助操作 

# 为sql指定密码

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
 
/usr/local/mysql/bin/mysqladmin -u root -h 'host' password 'new-password'

  

关闭顺序:

SQL节点 -> 数据节点 -> 管理节点

 

 

 

  

posted @ 2019-05-06 18:37  Boks  阅读(374)  评论(0)    收藏  举报