MySQL集群搭建及问题解决

    • 192.168.81.147 管理节点
    • 192.168.81.143 192.168.81.144 数据节点
    • 192.168.81.145 195.168.81.146 SQL节点

      1. 配置好五台虚拟机(CentOS 7.2)。
      2. 在官网下载Mysql-Cluster二进制安装包(MySQL Cluster 7.5.5)。
      3. 配置管理节点(192.168.81.147)。 
        (1) cd /var/tmp 
        (2) tar -zxvf mysql-5.7.17-ndb-7.5.6-linux2.6-i686.tar.gz,解压安装包。 
        (3) cd mysql-5.7.17-ndb-7.5.6-linux2.6-i686 
        (4) cp bin/ndb_mgm* /usr/local/bin 
        (5) cd /usr/local/bin 
        (6) chmod +x ndb_mgm*
      4. 配置数据节点(192.168.81.143 192.168.81.144)。 
        (1) cd /var/tmp 
        (2)tar -zxvf mysql-5.7.17-ndb-7.5.6-linux-i686-glibc23.tar.gz 
        (3) cd mysql-5.7.17-ndb-7.5.6-linux-i686-glibc23 
        (4) cp bin/ndbmtd /usr/local/bin/ndbmtd
      5. 配置SQL节点。(192.168.81.145 195.168.81.146 ) 
        (1)groupadd mysql 
        (2) useradd -g mysql -s /bin/false mysql 
        (3) cd /var/tmp 
        (4) tar -C /usr/local -xzvf mysql-cluster-gpl-7.5.6-linux2.6.tar.gz 
        (5) ln -s /usr/local/mysql-cluster-gpl-7.5.6-linux2.6-i686 /usr/local/mysql 
        (6) cd mysql 
        (7) mysqld –initialize –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data 
        (这时会出现MySQL的登录密码,请记好该密码)。 
        (8) chown -R root . 
        (9) chown -R mysql data 
        (10) chgrp -R mysql . 
        (11) cp support-files/mysql.server /etc/rc.d/init.d/ 
        (12) chmod +x /etc/rc.d/init.d/mysql.server 
        (13) chkconfig –add mysql.server
      6. 配置数据节点和SQL节点的my.cnf。 
        (1)vi /etc/my.cnf 
        (2)将my.cnf文件改为如下内容

        [mysqld] 
        ndbcluster # run NDB storage engine 
        [mysql_cluster] 
        ndb-connectstring=192.168.0.10 # location of management server

      7. 配置管理节点的config.ini。 
        (1)mkdir /var/lib/mysql-cluster 
        (2)cd /var/lib/mysql-cluster 
        (3) vi config.ini 
        (4)将如下内容复制到config.ini。

        [ndbd default] 
        NoOfReplicas=2 
        DataMemory=80M 
        IndexMemory=18M 
        [ndb_mgmd] 
        NodeId=1 
        hostname=192.168.81.147 
        datadir=/var/lib/mysql-cluster 
        [ndbd] 
        NodeId=2 
        hostname=192.168.81.143 
        datadir=/usr/local/mysql/data 
        [ndbd] 
        NodeId=3 
        hostname=192.168.81.144 
        datadir=/usr/local/mysql/data 
        [mysqld] 
        NodeId=4 
        hostname=192.168.81.145 
        [mysqld] 
        NodeId=5 
        hostname=192.168.81.146

      8. 启动mysql集群。启动顺序为:管理节点→数据节点→SQL节点。 
        (1)启动管理节点:ndb_mgmd -f /var/lib/mysql-cluster/config.ini 
        (2)启动数据节点:/usr/local/mysql/bin/ndbd –initial(首次启动)/usr/local/mysql/bin/ndbd(非首次启动) 
        (3)启动SQL节点:/usr/local/mysql/bin/mysqld_safe –user=mysql &

      9. 启动成功,进行测试。 
        (1)在一个SQL节点上进行数据操作,看另一个SQL节点是否能同步数据。 
        shell> /usr/local/mysql/bin/mysql -u root -p 
        mysql>show databases; 
        mysql>create database test1; 
        mysql>use test1; 
        mysql>CREATE TABLE student (age INT) ENGINE=NDB; //这里必须指定数据库表的引擎为NDB,否则同步失败 
        mysql> INSERT INTO student VALUES (1); 
        mysql> SELECT * FROM student; 
        (2)关闭一个数据节点 ,在另外一个节点写输入,开启关闭的节点,看数据是否同步过来。首先把数据结点1重启,然后在结点2上添加数据。 
        mysql> INSERT INTO student () VALUES (3333); 
        mysql> SELECT * FROM student;

      10. 若启动管理节点报错,使用ndb_mgmd –skip-config-cache -f /var/lib/mysql-cluster/config.ini

      11. 启动、关闭或者重启SQL节点时,使用/etc/init.d/mysql.server stop/start/restart

 

https://blog.csdn.net/qq_27347991/article/details/56286720

posted @ 2018-05-17 22:21  dion至君  阅读(1994)  评论(0编辑  收藏  举报