站長資訊網
        最全最豐富的資訊網站

        MySQL – Cluster MySQL 集群

        MySQL - Cluster MySQL 集群

        MySQL Cluster MySQL集群

        基本概念:

        “NDB” 是一種“內存中”的存儲引擎,它具有可用性高和數據一致性好的特點。

        MySQL Cluster 能夠使用多種故障切換和負載平衡選項配置NDB存儲引擎,但在 Cluster 級別上的存儲引擎上做這個最簡單。MySQL Cluster的NDB存儲引擎包含完整的數據集,僅取決于 Cluster本身內的其他數據。

        管理(MGM)節點:這類節點的作用是管理MySQL Cluster內的其他節點,如提供配置數據、啟動并停止節點、運行備份等。由于這類節點負責管理其他節點的配置,應在啟動其他節點之前首先啟動這類節點。MGM節點是用命令“ndb_mgmd”啟動的。

        數據節點:這類節點用于保存 Cluster的數據。數據節點的數目與副本的數目相關,是片段的倍數。例如,對于兩個副本,每個副本有兩個片段,那么就有4個數據節點。不過沒有必要設置多個副本。數據節點是用命令“ndbd”啟動的。

        SQL節點:這是用來訪問 Cluster數據的節點。對于MySQL Cluster,客戶端節點是使用NDB Cluster存儲引擎的傳統MySQL服務器。通常,SQL節點是使用命令“mysqld -ndbcluster”啟動的,或將“ndbcluster”添加到“my.cnf”后使用“mysqld”啟動。

        管理服務器(MGM節點)負責管理 Cluster配置文件和 Cluster日志。 Cluster中的每個節點從管理服務器檢索配置數據,并請求確定管理服務器所在位置的方式。當數據節點內出現新的事件時,節點將關于這類事件的信息傳輸到管理服務器,然后,將這類信息寫入 Cluster日志。

        集群配置概述:

        安裝版本:mysql cluster 7.3.2

        操作系統 :centos6.3(X64)

        軟件名稱 :mysql-cluster-gpl-7.3.2-linux-glibc2.5-x86_64.tar.gz (通用版)

        管理節點IP:192.168.0.202

        數據節點-SQL節點IP:192.168.0.203

        數據節點-SQL節點IP:192.168.0.204

        安裝依賴包:yum install -y glibc perl libaio-devel

        x32位系統要安裝兼容庫組:yum groupinstall “Compatibility libraries”

        一、管理節點安裝配置

        1、安裝mysql-cluster

        groupadd mysql useradd  -g mysql -s  /sbin/nologin  mysql tar  -zxvf mysql-cluster-gpl-7.3.2-linux-glibc2.5-x86_64. tar .gz mv  mysql-cluster-gpl-7.3.2-linux-glibc2.5-x86_64  /usr/local/mysql-cluster chown  -R root.mysql  /usr/local/mysql/ chown  -R mysql.mysql  /usr/local/mysql/data/ /usr/local/mysql/scripts/mysql_install_db  --basedir= /usr/local/mysql  --datadir= /usr/local/mysql/data  --user=mysql &   #初始化數據庫 cp  -rf  /usr/local/mysql/bin/ndb_mgm *  /usr/local/bin/  #復制ndb節點管理命令到本地,方便使用

        2、修改mysql主配置文件

        vi  /etc/my .cnf [MYSQLD]   user = mysql   socket =  /tmp/mysql .sock   basedir =  /usr/local/mysql  #安裝目錄   datadir =  /usr/local/mysql/data  #數據庫存放目錄   character-sets-server=UTF8   ndbcluster  #運行NDB存儲引擎   ndb-connectstring=192.168.0.202   lower_case_table_names=1  #表名是否區分大小寫1為不區分,不然linux下表名是區分大小寫的 [MYSQL_CLUSTER] ndb-connectstring=192.168.0.202  #Mysql Cluster管理節點IP

        3、創建mysql集群配置文件

        mkdir  /var/lib/mysql-cluster vi  /var/lib/mysql-cluster/config .ini [ndbd default] NoOfReplicas=2  #定義在Cluster環境中相同數據的份數,最大為4 DataMemory=256M  #分配的數據內存大小,根據本機服務器內存適量來分配 IndexMemory=256M  #設定用于存放索引(非主鍵)數據的內存段大小 #一個NDB節點能存放的數據量是會受到DataMemory和IndexMemory兩個參數設置的約束,兩者任何一個達到限制數量后,都無法再增加能存儲的數據量。如果繼續存入數據系統會報錯“table is full”。 [ndb_mgmd] nodeid=1 hostname =192.168.0.202 datadir= /var/lib/mysql-cluster/ [ndbd] nodeid=2 hostname =192.168.0.203 datadir= /usr/local/mysql/data [ndbd] nodeid=3 hostname =192.168.0.204 datadir= /usr/local/mysql/data [mysqld] nodeid=4 hostname =192.168.0.203 [mysqld] nodeid=5 hostname =192.168.0.204

        保存退出!

        chown  mysql.mysql  /var/lib/mysql-cluster/config .ini

        二、兩臺數據節點和SQL節點配置相同

        1、安裝mysql-cluster

        tar  -zxvf mysql-cluster-gpl-7.3.2-linux-glibc2.5-x86_64. tar .gz mv  mysql-cluster-gpl-7.3.2-linux-glibc2.5-x86_64  /usr/local/mysql groupadd mysql useradd  -g mysql -s  /sbin/nologin  mysql chown  -R root.mysql  /usr/local/mysql chown  -R mysql.mysql  /usr/local/mysql/data /usr/local/mysql/scripts/mysql_install_db  --basedir= /usr/local/mysql  --datadir= /usr/local/mysql/data  --user=mysql &  #初始化數據庫 cp  /usr/local/mysql/support-files/mysql .server  /etc/init .d /mysqld cp  /usr/local/mysql/support-files/medium .cnf  /etc/my .cnf chmod  +x /etc/init .d /mysqld

        2、修改mysql配置文件

        vi  /etc/my .cnf [MYSQLD] user=mysql character_set_server=utf8 ndbcluster ndb-connectstring=192.168.0.202 default-storage-engine=ndbcluster  #設置默認是NDB存儲引擎 datadir= /usr/local/mysql/data basedir= /usr/local/mysql [MYSQL_CLUSTER] ndb-connectstring=192.168.0.202  #mysql cluster 管理節點IP

        三、測試(先關閉三臺服務器的防火墻(IPTABLES)與 Selinux)

        1、啟動管理節點

        ndb_mgmd -f  /var/lib/mysql-cluster/config .ini --initial netstat  -tuplna |  grep  1186  #默認連接端口1186,啟動成功 tcp 0 0 0.0.0.0:1186 0.0.0.0:* LISTEN 1369 /ndb_mgmd #--initial:第一次啟動時加上,其它時候不要加,不然會數據清空,除非是在備份、恢復或配置變化后重啟時。

        如果啟動出現報錯:把config.ini里設置的nodeid都給刪除即可!

        2、啟動兩臺數據節點和SQL節點

        數據節點:/usr/local/mysql/bin/ndbd –initial

        SQL節點:bin/mysqld_safe –user=mysql & 或 service mysqld start

        3、查看集群狀態

        ndb_mgm -e show #顯示管理節點和數據節點則配置成功

        4、創建一個數據庫驗證是否同步

        mysql -u root -p

        Mysql>create database test ;

        Mysql>use test ;

        Mysql>create table abc ( id int) engine=ndbcluster; #指定數據庫表的引擎為NDB,否則同步失敗

        Mysql>Insert into abc ()values (1);

        Mysql> select * from abc;

        #此時看兩個數據是否數據一致,如果一致說明集群已經成功!

        注意事項:

        1.在建表的時候一定要用ENGINE=NDB或ENGINE=NDBCLUSTER指定使用NDB集群存儲引擎,或用ALTER TABLE選項更改表的存儲引擎。

        2.NDB表必須有一個主鍵,因此創建表的時候必須定義主鍵,否則NDB存儲引擎將自動生成隱含的主鍵。

        3.Sql節點的用戶權限表仍然采用MYISAM存儲引擎保存的,所以在一個Sql節點創建的MySql用戶只能訪問這個節點,如果要用同樣的用戶訪問別的Sql節點,需要在對應的Sql節點追加用戶。

        四、管理和維護命令

        關閉mysql集群:ndb_mgm -e shutdown

        重啟mysql集群:ndb_mgmd -f /var/lib/mysql-cluster/config.ini

        重啟數據節點:/usr/local/mysql/bin/ndbd

        啟動SQL節點:/usr/local/mysql/bin/mysqld_safe –user=mysql & 或 service mysqld restart

        查看mysql狀態:ndb_mgm -e show

        啟動順序:

        管理節點 -> 數據節點 -> SQL節點

        關閉順序:

        SQL節點 -> 數據節點 -> 管理節點

        推薦教程:《MySQL教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲精品无码不卡在线播放HE| 国产麻豆精品久久一二三 | 精品九九人人做人人爱| 亚洲AV无码之日韩精品| 99久久精品国产一区二区蜜芽| 99re6在线视频精品免费| 婷婷久久精品国产| 热综合一本伊人久久精品| 99久久人妻无码精品系列蜜桃| 久久这里只有精品18| 国产福利在线观看精品| 久久精品国产一区二区三区| 久久国产精品无码HDAV| 国产精品 视频一区 二区三区| 国精品无码一区二区三区左线| 久久久WWW免费人成精品| 国产女人精品视频国产灰线| 国产精品99精品久久免费| 久久er热视频在这里精品| 精品99久久aaa一级毛片| 久久久久人妻精品一区| 91精品国产91久久| 欧美精品亚洲精品日韩传电影| 久热这里只精品99re8久| 在线精品亚洲一区二区| 四虎国产精品免费久久久| 亚洲国产精品狼友中文久久久| 国产精品黄网站| 亚洲欧美国产精品专区久久| 精品国产污污免费网站| 熟女精品视频一区二区三区 | 久久精品中文字幕一区| 91精品在线看| 青草国产精品久久久久久| 精品精品国产理论在线观看| 国产精品天天影视久久综合网| 中文字幕一精品亚洲无线一区| 99视频在线精品国自产拍亚瑟| 99国产欧美久久久精品蜜芽| 国产亚洲精品自在久久| 亚洲欧美日韩国产精品专区 |