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;

  • 相关阅读:
    用 ArcMap 发布 ArcGIS Server FeatureServer Feature Access 服务 PostgreSQL 版本
    ArcMap 发布 ArcGIS Server OGC(WMSServer,MapServer)服务
    ArcScene 创建三维模型数据
    ArcMap 导入自定义样式Symbols
    ArcMap 导入 CGCS2000 线段数据
    ArcMap 导入 CGCS2000 点坐标数据
    ArcGis Server manager 忘记用户名和密码
    The view or its master was not found or no view engine supports the searched locations
    python小记(3)操作文件
    pytest(2) pytest与unittest的区别
  • 原文地址:https://www.cnblogs.com/chenyixun/p/13666448.html
Copyright © 2011-2022 走看看