zoukankan      html  css  js  c++  java
  • Windows Server 2008R2配置MySQL Cluster

    目录

    配置环境

      VMware:(版本10.0.01)

      操作系统:Windows Server 2008 R2 Enterprise

      VM1:192.168.220.103 管理节点(MGM),数据节点(NDBD1),SQL节点(SQL1)
      VM2:192.168.220.104 数据节点(NDBD2),SQL节点(SQL2)

      MySQL Cluster版本:7.3.7 (MSI Installer)  下载地址:http://dev.mysql.com/downloads/cluster/

      测试工具:Navicate for MySQL

    相关知识

    简介:

    MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。

    MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序

    特点: http://www.mysql.com/products/cluster/features.html

    三种节点:

    管理节点:用于管理集群共它节点; 守护进程ndb_mgmd

    数据节点:用于保存集群的数据; 守护进程ndbd

    SQL节点:用于连接数据节点;守护进程mysqld

    详情请参考:参考手册中MySQL Cluster章节

    配置过程

    • 在VM1和VM2上安装MySQL Cluster(mysql-cluster-gpl-7.3.7-winx64) 

        选择typical安装,安装目录均为:C:Program FilesMySQLMySQL Cluster 7.3

    • 在VM1和VM2上的Windows 资源管理器中打开C:Program FilesMySQL,在此目录下新建文件夹MySQL Server 5.6,然后在新建的MySQL Server 5.6文件夹下新建mysql-cluster文件夹

       新建文件夹的路径分别为:C:Program FilesMySQLMySQL Server 5.6

                  C:Program FilesMySQLMySQL Server 5.6mysql-cluster

    • 在VM1的Windows 资源管理器打开目录C:Program FilesMySQLMySQL Cluster 7.3,并在此目录下新建一个config.ini文件
    [ndbd default]
    NoOfReplicas=2 
    MaxNoOfTables=1024
    MaxNoOfUniqueHashIndexes=1024
    MaxNoOfOrderedIndexes=1024
    MaxNoOfAttributes=10000
    
    [ndb_mgmd]
    NodeId=1
    HostName=192.168.220.103
    DataDir=C:Program FilesMySQLMySQL Cluster 7.3data
    
    [ndbd]
    NodeId=21
    HostName=192.168.220.103
    DataDir=C:Program FilesMySQLMySQL Server 5.6mysql-cluster
    
    [ndbd]
    NodeId=22
    HostName=192.168.220.104
    DataDir=C:Program FilesMySQLMySQL Server 5.6mysql-cluster
    
    [mysqld]
    NodeId=11
    HostName=192.168.220.103
    
    [mysqld]
    NodeId=12
    HostName=192.168.220.104
    • 在VM1和VM2的资源管理器中打开目录C:Program FilesMySQLMySQL Cluster 7.3,并在此目录下新建一个my.ini文件
    [mysqld]
    character_set_server=utf8
    
    basedir="C:Program FilesMySQLMySQL Cluster 7.3"
    
    datadir="C:Program FilesMySQLMySQL Cluster 7.3data"
    
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    
    ndbcluster
    ndb-connectstring=192.168.220.103
    
    explicit_defaults_for_timestamp=true
    
    [mysql_cluster]
    ndb-connectstring=192.168.220.103
    • 在VM1和VM2中设置环境变量(非必需,文中并未用到,都会CD转到到相应目录去执行命令)

      计算机右键属性 (或者 控制面板系统和安全系统)--->高级系统配置--->"高级"选择卡--->环境变量--->系统变量中找到Path--->编辑--->加上C:Program FilesMySQLMySQL Cluster 7.3in

      注意:多个路径用分号分隔

    •  配置文件主要参数介绍:

    [NDBD]:定义了集群的数据节点

    [MYSQLD]:定义了集群的MySQL服务器节点

    [MGM]或[NDB_MGMD]:定义了集群的管理服务器节点

    [NDB_MGMD]Id:节点唯一的标识

    [NDBD]NoOfReplicas:全局参数仅能在[NDBD DEFAULT]中设置,它定义了集群中每个表保存的副本数。该参数还指定了节点组的大小。节点组指的是保存相同信息的节点集合

    [NDBD]DataDir:该参数指定了存放跟踪文件、日志文件、 pid文件以及错误日志的目录

    [MYSQLD]basedir:使用指定目录作为根目录

    [MYSQLD]datadir:使用指定目录读取数据库文件

    • 在管理节点(MGM)机器上(VM1)中打开CMD窗口执行如下命令,启动管理节点
    cd "C:Program FilesMySQLMySQL Cluster 7.3in"
    ndb_mgmd.exe --config-file="C:Program FilesMySQLMySQL Cluster 7.3config.ini" --configdir="C:Program FilesMySQLMySQL Cluster 7.3"  

       注意:warning信息不影响,两台机器配置管理节点和数据节点在一台机器上的原因,并不会引起集群失败

    • 在数据节点(NDBD1)机器上(VM1)中新打开CMD窗口执行如下命令,启动数据节点
    cd "C:Program FilesMySQLMySQL Cluster 7.3in"
    ndbd.exe --initial             

       注意:--initial只有初次执行需要,以后执行ndbd.exe就可以(参考手册里的意思应该是当需要清理集群文件时才使用,所以这个参数应该要慎用或者提前备份)

    • 在SQL节点(SQL1)机器上(VM1)中新开CMD窗口执行如下命令,启动SQL节点 
    cd "C:Program FilesMySQLMySQL Cluster 7.3in"
    mysqld.exe --default-file="C:Program FilesMySQLMySQL Cluster 7.3my.ini"
    mysqld --install
    net start mysql

      注意:执行mysqld --install 你可以在计算机的服务器看到名为“MySQL”的服务,在执行net start mysql,在服务中可以看到MySQL服务为“启动”状态

    • 在数据节点(NDBD2)机器上(VM2)中新打开CMD窗口执行如下命令,启动数据节点
    cd "C:Program FilesMySQLMySQL Cluster 7.3in"
    ndbd.exe

    • 在SQL节点(SQL2)机器上(VM2)中新开CMD窗口执行如下命令,启动SQL节点
    cd "C:Program FilesMySQLMySQL Cluster 7.3in"
    mysqld.exe --default-file="C:Program FilesMySQLMySQL Cluster 7.3my.ini"
    mysqld --install
    net start mysql

    检查配置

    • 在管理节点(MGM)机器上(VM1)中打开CMD窗口执行如下命令
    ndb_mgm.exe
    show

      如上图状态,表示安装成功!

    同步测试

    • 在VM1和VM2上安装Navicat for MySQL(安装步骤省略)
    • 在VM1和VM2上打开Navicat for MySQL并新建连接(示例建立连接分别为:192.168.220.103和192.168.220.104)  安装后默认用户名为root,没有密码
    • 在192.168.220.103中新建数据库wilson_mysqlcluster_test,在192.168.220.104中查看

      发现192.168.220.104中也出现wilson_mysqlcluster_test

    • 在192.168.220.104中的wilson_mysqlcluster中建一个tb_test表,注意引擎选择“ndbcluster”,在192.168.220.103中可以看到也会有tb_test表出现

    • 测试在192.168.220.103或192.168.220.104中增、删、改操作,两个数据库都会同步

    故障测试

    • 在VM2中停止SQL节点,在192.168.220.103上插入一条数据(原本有2条数据),再启动VM2上的SQL节点,看是否能正常同步

      1.在VM2中CMD窗口执行如下命令停止MySQL服务

    net stop msyql

      2.在192.168.220.103中插ID为3的数据后,执行如下命令,再次启动VM2中的MySQL服务,查看192.168.220.104中数据是否完整

    net start mysql

      测试结果如图:得到完整数据

      

      其它测试就不一一列举了

    写在之后

      配置前仔细看了MySQL参考文件MySQL Cluster章节

      MySQL Cluster配置过程还是比较容易出错,配置过程中大小错误遇到非常多(目录、SQL节点not connected、MYSQL服务无法启动、数据无法同步等等),根据CMD上错误和日志文件查找对应的解决方法

      注意启动顺序会少遇到很多错误:管理节点--->数据节点--->SQL节点

      生产环境建议用至少3台服务器去配置,需要修改一下config.ini文件,配置过程与两台没什么差别

      主要参考:

      MySQL_5.5中文参考手册

      Windows 环境下配置 MySQL Cluster

  • 相关阅读:
    【古曲】流水-古琴曲
    【文献阅读】基于特征的非局部均值图像去噪算法研究毕业论文
    【名言】后生看经书,须着看注疏及先儒解释,不然,执己见议论,恐入自是之域,便轻视古人。
    马氏距离(Mahalanobis distance)
    广义高斯分布(GGD)
    Lenna图-莱娜·瑟德贝里
    【机器学习】WIFI室内定位
    【matlab】生成列是0-255渐变的图像
    少笔画生僻字
    Gabor变换、Gabor滤波器
  • 原文地址:https://www.cnblogs.com/zhongweiv/p/Windows_Server_2008_R2_MySQL_Cluster.html
Copyright © 2011-2022 走看看