zoukankan      html  css  js  c++  java
  • Mysql Cluster7.5.6 windows10 部署安装

     

     

     部署方法网上很多,以下是我的实践过程,供大家参考。

    1. 硬件:3台虚拟机,全是windows 10 x64

    2. 网络架构:

      管理节点:192.168.37.128
      数据节点 / SQL节点: 192.168.37.129 / 192.168.37.130 (同一台机器同时存在数据节点与sql节点)

    3. 安装

      下载 mysql cluster : https://dev.mysql.com/downloads/cluster/ 

      ( 这里有个镜像: http://mirrors.sohu.com/mysql/MySQL-Cluster-7.5/ )

      我这里下载的是官网的 mysql-cluster-gpl-7.5.6-winx64.zip

    4. 配置

      4.1 管理节点: 在 192.168.37.128 的机子上创建以下目录(一定是C盘),并在 bin 目录下创建下以4个文件 , cluster-logs及mysql-cluster 是个空文件夹

      

      my.ini 内容如下

    1 [mysql_cluster] 
    2 # Options for management node process 
    3 config-file=C:/mysql/bin/config.ini

      config.ini 内容如下

    复制代码
     1 [NDBD DEFAULT]
      #1: 表示只有一份数据,但是分成n块分别存储在n个数据节点上。2:数据被分成n/2块,每块数据都有2个备份,这样即使有任意一个节点发生故障,只要它的备份节点正常,系统就可以正常运行
    2 NoOfReplicas=2 3 DataDir=D:/mysqlCluster/datanode/mysql/bin/cluster-data 4 DataMemory=80M 5 IndexMemory=18M 6 7 [MYSQLD DEFAULT] 8 [NDB_MGMD DEFAULT] 9 [TCP DEFAULT] 10 11 [NDB_MGMD] 12 Nodeid=1 13 #管理节点服务器 14 HostName=192.168.37.128 15 # Storage Engines 16 DataDir=C:/mysql/cluster-logs 17 18 [NDBD] 19 Nodeid=2 20 #MySQL集群db1的IP地址 21 HostName=192.168.37.130 22 23 [NDBD] 24 Nodeid=3 25 #MySQL集群db2的IP地址 26 HostName=192.168.37.129 27 28 [MYSQLD] 29 Nodeid=4 30 HostName=192.168.37.130 31 32 [MYSQLD] 33 Nodeid=5 34 HostName=192.168.37.129 35 [MYSQLD] 36 [MYSQLD]
    复制代码

      ndb_mgm.exe 及 ndb_mgmd.exe是从下载的 mysql cluster包里面 copy , 我的是 mysql-cluster-gpl-7.5.6-winx64in 目录里面

      4.2 数据节点 : 在192.168.37.129 机子上创建目录 D:mysqlClusterdatanodemysqlincluster-data , 并在 D:mysqlClusterdatanodemysql 新建 my.ini , 在 D:mysqlClusterdatanodemysqlin 复制 ndbd.exe

        

      my.ini 内容如下

    1 [mysql_cluster]    
    2 # Options for data node process:  
    3 ndb-connectstring=192.168.37.128

      ndbd.exe 是从下载的 mysql cluster包里面 copy , 我的是 mysql-cluster-gpl-7.5.6-winx64in 目录里面。

      4.3 sql 节点: 在192.168.37.129 机子上创建目录 D:mysqlClustersqlnode , 复制 mysql-cluster-gpl-7.5.6-winx64 到 sqlnode 下 , 重命名 mysql-cluster-gpl-7.5.6-winx64 --> mysql , 创建 data 文件夹和my.ini

      my.ini 内容如下

    1 [mysqld]
    2 # Options for mysqld process:
    3 ndbcluster                      # run NDB storage engine
    4 ndb-connectstring=192.168.37.128  # location of management server

      4.3.1  注册 mysql 服务 , 注册成功在 windows 的服务里面多了一个 MySQL 的服务 (若服务已存在,请删除 mysqld --remove mysql )

    (以上命令必须以管理员身份运行。先初始化data目录:以前5.6版本自带data目录,不需要这一步!如果没有这一步会无法启动mysql服务,报错MYSQL 服务无法启动,在初始化之前,务必将data目录底下的文件删除掉。

    mysqld --initialize-insecure : 自动生成无密码的root用户;

    mysqld --initialize : 是自动生成随机密码用户;

    )

    因 192.168.37.130 与 192.168.37.129 配置一样, 所以可以 D:mysqlCluster 复制到 192.168.37.130 机子上(注册服务要再做一次)

    5. 启动 : 启动必须安顺序,管理节点 --> 数据节点  --> sql 节点

      5.1 管理节点: 

          cd c:mysqlin

          ndb_mgmd -f c:mysqlinconfig.ini --configdir=c:mysqlmysql-cluster

          (重新加载 config.ini 可加 --reload 参数)

          

      5.2 数据节点:  192.168.37.129 / 192.168.37.130

          

      5.3 sql 节点: 192.168.37.129 / 192.168.37.130

          管理节点及数据节点正常开启后,只要sql节点的 MySQL 服务开启就能连上,若没有开启,手动开启就可以连上

          

    全部运行完后可在 管理节点的机子上查看连接状态,返加 192.168.37.128

          

    6. 测试

      在192.168.37.129的机子上,打开DOS,进入 D:mysqlClustersqlnodemysqlin,再键入命令mysql -u root -p,回车后提示你输密码,直接回车(mysqld --initialize-insecure : 自动生成无密码的root用户)

      1. create database test_db;

      2. use test_db;

      3. 创建表 ( 注:ENGINE=ndbcluster )

    复制代码
    CREATE TABLE `country` (
      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '国家id',
      `country_code` varchar(20) NOT NULL COMMENT '国家代码',
      `name` varchar(20) NOT NULL COMMENT '国家名称',
      PRIMARY KEY (`id`),
      UNIQUE KEY `id_UNIQUE` (`id`),
      UNIQUE KEY `country_code_UNIQUE` (`country_code`),
      UNIQUE KEY `name_UNIQUE` (`name`)
    ) ENGINE=ndbcluster DEFAULT CHARSET=utf8 COMMENT='国家';
    复制代码

      4. 向表插入数据

    insert into country(country_code,name) values("003","EN");

      5. 到另一台 sql节点(192.168.37.130) 查看数据

    select * from country;
    热爱世间万物,无最爱,无例外、
  • 相关阅读:
    vue解决IOS虚拟键盘遮挡固定定位input框
    vue 子组件传父组件
    Vue同时监听多个数据
    JS判断是安卓还是IOS
    JS时间戳转日期格式
    html静态页面配置微信分享
    关于前端的宝藏网站(持续更新...)
    IDEA界面美化
    IntelliJ IDEA创建JavaWeb项目
    制作PDF
  • 原文地址:https://www.cnblogs.com/guarderming/p/15423292.html
Copyright © 2011-2022 走看看