zoukankan      html  css  js  c++  java
  • Windows下mysql集群管理节点集群搭建

    1.选用版本
    官网一般提供两种包
    mysql-cluster-8.0.20-winx64.zip免安装版
    mysql-cluster-8.0.20-winx64.msi安装版
    这里我选用免安装版
    最新包请去官网下载
    http://dev.mysql.com/downloads/cluster/


    2.搭建环境
    这里我使用三台Win10虚拟机进行搭建
    (1)管理节点
    10.6.10.250
    (2)其中一台数据节点和Mysql节点
    10.6.10.251
    (3)剩下一台数据节点和Mysql节点
    10.6.10.252
    *选用三台的原因是将管理节点单独部署,因为一旦管理节点宕机,集群服务将不可用
    ,数据节点和Mysql节点(把他俩看作一个整体)可以同时部署在一台机器上,当然也可以不在,这里我为了节省资源所以部署在一起


    3.创建必须的文件夹
    假设我这三台虚拟机的mysql-cluster程序文件路径都为:
    c:mysql
    我们进到bin目录下
    c:mysqlin
    创建三个文件目录
    cluster-data集群数据节点文件夹(如果你的数据节点和Mysql节点是分开部署,那么这个文件夹只需要在数据节点下建立)
    cluster-logs集群日志文件夹(这个文件夹其实只需要在管理节点下建立)
    config配置文件夹(这个文件夹其实只需要在管理节点下建立)
    *这里为了省事我在一台上建好这三个文件夹以后,直接拷贝到另外两台的相同路径下了


    4.管理节点(10.6.10.250,10.6.10.254)
    我们进到bin目录下
    c:mysqlin
    这里有我们上一步创建的三个文件夹
    我们进到config目录下
    c:mysqlinconfig
    创建两个启动所必须的文件
    config.ini
    my.ini
    (1)config.ini配置信息如下
    [ndbd default]
    NoOfReplicas=2 #集群数量
    DataDir=C:/mysql/bin/cluster-data
    DataMemory=80M #默认
    IndexMemory=18M #默认

    [ndb_mgmd default]
    DataDir=C:/mysql/bin/cluster-logs

    [ndb_mgmd]
    HostName=10.6.10.250 #管理节点地址

    [ndb_mgmd]
    HostName=10.6.10.254 #管理节点地址

    [ndbd]
    HostName=10.6.10.251 #数据节点地址

    [ndbd]
    HostName=10.6.10.252 #数据节点地址

    [mysqld]
    HostName=10.6.10.251 #Mysql节点地址

    [mysqld]
    HostName=10.6.10.252 #Mysql节点地址

    (2)my.ini配置信息如下
    [mysql_cluster]
    config-file=C:/mysql/bin/config/config.ini


    5.启动管理节点(在10.6.10.250,10.6.10.254这两台机器上)
    为保险起见,我们统一用管理员权限启动cmd.exe
    新打开一个cmd进到bin目录下
    c:mysqlin
    键入命令
    ndb_mgmd.exe --configdir=c:mysqlinconfig --config-file=c:mysqlinconfigconfig.ini --reload –-initial
    *将该节点作为管理节点启动并指定节点id=1


    6.启动数据节点(分别在10.6.10.251和10.6.10.252机器上)
    为保险起见,我们统一用管理员权限启动cmd.exe
    新打开一个cmd进到bin目录下
    c:mysqlin
    键入命令
    ndbd.exe --ndb-connectstring=10.6.10.250,10.6.10.254
    *将该节点作为数据节点启动并连接到管理节点


    7.启动Mysql节点(分别在10.6.10.251和10.6.10.252机器上)
    为保险起见,我们统一用管理员权限启动cmd.exe
    新打开一个cmd进到bin目录下
    c:mysqlin
    (1)键入命令
    mysqld.exe --initialize-insecure
    *该命令会在mysql目录下创建data文件夹,并且创建无密码的root用户,少了这一步下面那个命令多半会报错
    键入命令
    mysqld.exe -install *安装mysql服务,这步貌似可以不做,做了也无碍,但千万不要随后又手贱启动Mysql服务,例如键入命令net start mysql,如果启动了Mysql服务,那么下面那个命令指定会报错

    (2)键入命令
    mysqld.exe --ndbcluster --ndb-connectstring=10.6.10.250,10.6.10.254 --console
    *将该节点作为Mysql节点启动并连接到管理节点
    *如果依然报错,说是[The innodb_system data file 'ibdata1' must be writable]这种错误信息,
    那可能是这台机器上已经运行了mysql服务,那么如下操作也许可以治疗:
    键入命令
    net stop mysql //停止服务
    mysqld.exe -remove //卸载服务
    将mysql目录下的data目录删除
    重复步骤(1)(2)


    8.查看集群状态
    在任意一台机器上,新打开一个cmd进到bin目录下
    c:mysqlin
    键入命令
    ndb_mgm.exe
    进入到ndb_mgm>,键入命令show
    ndb_mgm>show
    如果前面7步全部正确,会显示出当前有一个管理节点,两个数据节点和两个Mysql节点并显示相关节点ID和IP地址信息等
    *如果不是正常显示,请回过头来一步步检查问题所在,直到放弃治疗


    9.创建数据库,表,插入数据,验证集群的数据同步是否有效
    在任意一台Mysql节点上,新打开一个cmd进到bin目录下
    c:mysqlin
    键入命令
    mysql.exe -uroot -p
    *这是我们第(7)步中,命令mysqld.exe --initialize-insecure创建的无密码root用户
    进入到mysql>,键入命令
    mysql>show databases;
    *检查基础数据库是否健全
    mysql>create database test;
    mysql>use test;
    mysql>create table tt(name varchar(23),age int) engine=ndbcluster;

    *如果不小心忘记加后缀了,也可以直接用修改表的方式添加上,例如:alter table tt engine=ndbcluster;
    *创建表的时候如果不加engine=ndbcluster后缀,那么该表将不会进行集群同步
    mysql>show tables;
    mysql>insert into tt values('cluster',18);


    10.到另外一台Mysql节点上检查看看是否正确同步过来了
    新打开一个cmd进到bin目录下
    c:mysqlin
    键入命令
    mysql.exe -uroot -p

    进入到mysql>,键入命令

    mysql>show databases;
    mysql>use test;
    mysql>show tables;
    mysql>select * from tt;

  • 相关阅读:
    H5C3--transform实现任何元素居中对齐
    H5C3--过渡transition
    H5C3--background中cover,背景样式,提升响应区域+精灵图的使用
    SpringBoot之spring.factories
    浅谈常用数据结构
    浅谈常用排序
    JAVA性能优化总结
    ORACLE10G非归档模式下RMAN异机迁库
    ORACLE10G非归档模式下异机迁库(文件迁移)
    HNOI 米特运输
  • 原文地址:https://www.cnblogs.com/chenyixun/p/13666448.html
Copyright © 2011-2022 走看看