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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM