欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          MySQL – Cluster MySQL 集群

          MySQL - Cluster MySQL 集群

          MySQL Cluster MySQL集群

          基本概念:

          “NDB” 是一種“內(nèi)存中”的存儲(chǔ)引擎,它具有可用性高和數(shù)據(jù)一致性好的特點(diǎn)。

          MySQL Cluster 能夠使用多種故障切換和負(fù)載平衡選項(xiàng)配置NDB存儲(chǔ)引擎,但在 Cluster 級(jí)別上的存儲(chǔ)引擎上做這個(gè)最簡單。MySQL Cluster的NDB存儲(chǔ)引擎包含完整的數(shù)據(jù)集,僅取決于 Cluster本身內(nèi)的其他數(shù)據(jù)。

          管理(MGM)節(jié)點(diǎn):這類節(jié)點(diǎn)的作用是管理MySQL Cluster內(nèi)的其他節(jié)點(diǎn),如提供配置數(shù)據(jù)、啟動(dòng)并停止節(jié)點(diǎn)、運(yùn)行備份等。由于這類節(jié)點(diǎn)負(fù)責(zé)管理其他節(jié)點(diǎn)的配置,應(yīng)在啟動(dòng)其他節(jié)點(diǎn)之前首先啟動(dòng)這類節(jié)點(diǎn)。MGM節(jié)點(diǎn)是用命令“ndb_mgmd”啟動(dòng)的。

          數(shù)據(jù)節(jié)點(diǎn):這類節(jié)點(diǎn)用于保存 Cluster的數(shù)據(jù)。數(shù)據(jù)節(jié)點(diǎn)的數(shù)目與副本的數(shù)目相關(guān),是片段的倍數(shù)。例如,對(duì)于兩個(gè)副本,每個(gè)副本有兩個(gè)片段,那么就有4個(gè)數(shù)據(jù)節(jié)點(diǎn)。不過沒有必要設(shè)置多個(gè)副本。數(shù)據(jù)節(jié)點(diǎn)是用命令“ndbd”啟動(dòng)的。

          SQL節(jié)點(diǎn):這是用來訪問 Cluster數(shù)據(jù)的節(jié)點(diǎn)。對(duì)于MySQL Cluster,客戶端節(jié)點(diǎn)是使用NDB Cluster存儲(chǔ)引擎的傳統(tǒng)MySQL服務(wù)器。通常,SQL節(jié)點(diǎn)是使用命令“mysqld -ndbcluster”啟動(dòng)的,或?qū)ⅰ皀dbcluster”添加到“my.cnf”后使用“mysqld”啟動(dòng)。

          管理服務(wù)器(MGM節(jié)點(diǎn))負(fù)責(zé)管理 Cluster配置文件和 Cluster日志。 Cluster中的每個(gè)節(jié)點(diǎn)從管理服務(wù)器檢索配置數(shù)據(jù),并請(qǐng)求確定管理服務(wù)器所在位置的方式。當(dāng)數(shù)據(jù)節(jié)點(diǎn)內(nèi)出現(xiàn)新的事件時(shí),節(jié)點(diǎn)將關(guān)于這類事件的信息傳輸?shù)焦芾矸?wù)器,然后,將這類信息寫入 Cluster日志。

          集群配置概述:

          安裝版本:mysql cluster 7.3.2

          操作系統(tǒng) :centos6.3(X64)

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

          管理節(jié)點(diǎn)IP:192.168.0.202

          數(shù)據(jù)節(jié)點(diǎn)-SQL節(jié)點(diǎn)IP:192.168.0.203

          數(shù)據(jù)節(jié)點(diǎn)-SQL節(jié)點(diǎn)IP:192.168.0.204

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

          x32位系統(tǒng)要安裝兼容庫組:yum groupinstall “Compatibility libraries”

          一、管理節(jié)點(diǎn)安裝配置

          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 &   #初始化數(shù)據(jù)庫 cp  -rf  /usr/local/mysql/bin/ndb_mgm *  /usr/local/bin/  #復(fù)制ndb節(jié)點(diǎn)管理命令到本地,方便使用

          2、修改mysql主配置文件

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

          3、創(chuàng)建mysql集群配置文件

          mkdir  /var/lib/mysql-cluster vi  /var/lib/mysql-cluster/config .ini [ndbd default] NoOfReplicas=2  #定義在Cluster環(huán)境中相同數(shù)據(jù)的份數(shù),最大為4 DataMemory=256M  #分配的數(shù)據(jù)內(nèi)存大小,根據(jù)本機(jī)服務(wù)器內(nèi)存適量來分配 IndexMemory=256M  #設(shè)定用于存放索引(非主鍵)數(shù)據(jù)的內(nèi)存段大小 #一個(gè)NDB節(jié)點(diǎn)能存放的數(shù)據(jù)量是會(huì)受到DataMemory和IndexMemory兩個(gè)參數(shù)設(shè)置的約束,兩者任何一個(gè)達(dá)到限制數(shù)量后,都無法再增加能存儲(chǔ)的數(shù)據(jù)量。如果繼續(xù)存入數(shù)據(jù)系統(tǒng)會(huì)報(bào)錯(cuò)“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

          二、兩臺(tái)數(shù)據(jù)節(jié)點(diǎn)和SQL節(jié)點(diǎn)配置相同

          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 &  #初始化數(shù)據(jù)庫 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  #設(shè)置默認(rèn)是NDB存儲(chǔ)引擎 datadir= /usr/local/mysql/data basedir= /usr/local/mysql [MYSQL_CLUSTER] ndb-connectstring=192.168.0.202  #mysql cluster 管理節(jié)點(diǎn)IP

          三、測試(先關(guān)閉三臺(tái)服務(wù)器的防火墻(IPTABLES)與 Selinux)

          1、啟動(dòng)管理節(jié)點(diǎn)

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

          如果啟動(dòng)出現(xiàn)報(bào)錯(cuò):把config.ini里設(shè)置的nodeid都給刪除即可!

          2、啟動(dòng)兩臺(tái)數(shù)據(jù)節(jié)點(diǎn)和SQL節(jié)點(diǎn)

          數(shù)據(jù)節(jié)點(diǎn):/usr/local/mysql/bin/ndbd –initial

          SQL節(jié)點(diǎn):bin/mysqld_safe –user=mysql & 或 service mysqld start

          3、查看集群狀態(tài)

          ndb_mgm -e show #顯示管理節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)則配置成功

          4、創(chuàng)建一個(gè)數(shù)據(jù)庫驗(yàn)證是否同步

          mysql -u root -p

          Mysql>create database test ;

          Mysql>use test ;

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

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

          Mysql> select * from abc;

          #此時(shí)看兩個(gè)數(shù)據(jù)是否數(shù)據(jù)一致,如果一致說明集群已經(jīng)成功!

          注意事項(xiàng):

          1.在建表的時(shí)候一定要用ENGINE=NDB或ENGINE=NDBCLUSTER指定使用NDB集群存儲(chǔ)引擎,或用ALTER TABLE選項(xiàng)更改表的存儲(chǔ)引擎。

          2.NDB表必須有一個(gè)主鍵,因此創(chuàng)建表的時(shí)候必須定義主鍵,否則NDB存儲(chǔ)引擎將自動(dòng)生成隱含的主鍵。

          3.Sql節(jié)點(diǎn)的用戶權(quán)限表仍然采用MYISAM存儲(chǔ)引擎保存的,所以在一個(gè)Sql節(jié)點(diǎn)創(chuàng)建的MySql用戶只能訪問這個(gè)節(jié)點(diǎn),如果要用同樣的用戶訪問別的Sql節(jié)點(diǎn),需要在對(duì)應(yīng)的Sql節(jié)點(diǎn)追加用戶。

          四、管理和維護(hù)命令

          關(guān)閉mysql集群:ndb_mgm -e shutdown

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

          重啟數(shù)據(jù)節(jié)點(diǎn):/usr/local/mysql/bin/ndbd

          啟動(dòng)SQL節(jié)點(diǎn):/usr/local/mysql/bin/mysqld_safe –user=mysql & 或 service mysqld restart

          查看mysql狀態(tài):ndb_mgm -e show

          啟動(dòng)順序:

          管理節(jié)點(diǎn) -> 數(shù)據(jù)節(jié)點(diǎn) -> SQL節(jié)點(diǎn)

          關(guān)閉順序:

          SQL節(jié)點(diǎn) -> 數(shù)據(jù)節(jié)點(diǎn) -> 管理節(jié)點(diǎn)

          推薦教程:《MySQL教程》

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)