zoukankan      html  css  js  c++  java
  • 添砖加瓦:MySQL分布式部署

    1、集群环境

     管理节点(MGM):这类节点的作用是管理MySQLCluster内的其他节点,如提供配置数据,并停止节点,运行备份等。由于这类节点负责管理其他节点的配置,应该在启动其他节点之前启动这类节点。MGM节点是用命令“ndb_mgmd”启动的;

        数据节点(NDB):这类节点用于保存Cluster的数据,数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点,没有必要设定过多的副本,在NDB中数据会尽量的保存在内存中。数据节点使用命令“ndb”启动的;

        SQL节点:这是用来访问Cluster数据的节点,对于MySQL Cluster,客户端节点是使用NDB Cluster存储引擎的传统MySQL服务器。通常,SQL节点使用命令“mysqld-ndbcluster”启动的

    2、安装包下载

    地址:http://mirrors.sohu.com/mysql/

    这里以mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64.tar.gz为例。

    3、集群安装

    解压下载的文件,将解压后文件夹中的文件移动到/usr/local/mysql目录下

    4、配置

    (1)配置管理节点

    在/usr/local/mysql目录下创建config目录,vim config/config.ini,内容如下图:

     

    (2)配置数据节点

     需要指明配置的数据节点的根目录,数据目录,socket连接配置,用户配置,以及对应的管理节点的ip地址配置

    vim /etc/my.cnf

     

    (3)配置用户节点

     

    5、启动

    在启动mysql集群的时候,注意首先要启动管理节点,并依次启动其他等若干个节点,相应的启动步骤如下:

        1 在管理节点上,切换到/usr/local/mysql/bin目录下,执行ndb_mgmd -f /var/lib/mysql-cluster/config.ini命令,完成管理节点的启动;

        2 在各个数据节点上,切换到/usr/local/mysql/bin目录下,执行ndbd --initial(第一次启动时,否则执行ndbd即可),完成对数据节点的启动;

        3 在各个SQL节点上,同样切换到/usr/local/mysql/bin目录下,执行./mysqld --initialize(第一次启动时,初始化MySQL,记录下生成的随机密码,之后登陆MySQL时会用到),mysqld_safe --defaults-file=/etc/my.cnf 完成启动;

        4 在管理节点上运行ndb_mgm命令,进入数据库管理的客户端,输入show命令,查看与之相连接的各个节点的状态;

        5 在SQL节点上分别进入系统的安全状态,并完成对root用户的密码修改,运行以下指令,进行密码修改:

        A: use mysql,切换到mysql数据库;

        B: UPDATE user SET Password = PASSWORD('123456')WHERE user = 'root';从而实现对root密码的修改;

        C:flush privileges,完成修改;

        6修改使得任意主机都能连得上mysql,进行如下修改,同样安装第5步进入安全模式,并完成相应的修改,如下:

        grant all privileges on *.* to ‘root’@'%' identified by '123456';

    这样就可以使得任意一个主机都可以通过root用户来登录mysql了;

    6 集群测试

       在集群上的一个SQL节点上执行创建数据库,并创建一张表,并完成相应的数据插入,如下,需要注意的是,创建表的时候必须选择表的引擎为NDBCLUSTER,否则表不会进行同步

        A create database ctest;                          //创建数据库

        B create table test(

                id int primarykey;                  //创建一张表

            )engine=ndbcluster;

        C insert into test (id)values(1);           //完成数据插入

        登录另外一个SQL节点,并执行SQL查询操作,看数据库中是否已经有数据,如下:

        select * from ctest;

        如果有数据,表示数据插入成功;

    7 关闭集群

       1 首先关闭管理节点和数据节点,需要在管理节点上执行命令,如下:./ndb_mgm -e shutdown;

        2 然后关闭SQL节点,在SQL节点上执行命令/usr/local/mysql/support-fies/mysql.server stop(其中/usr/local/mysql/是mysql的安装目录).从而关闭SQL节点;

  • 相关阅读:
    斐波那契数列变形
    poj 1061 青蛙的约会+拓展欧几里得+题解
    Leading and Trailing LightOJ
    HDU-1576 A/B 基础数论+解题报告
    swal() 弹出层的用法
    jqurey.running.min.js运动的字体效果
    echarts中dataZoom的使用
    echarts动态添加数据
    设备适配尺寸
    sublime Text3 插件
  • 原文地址:https://www.cnblogs.com/lianshuiwuyi/p/9181811.html
Copyright © 2011-2022 走看看