<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-60  評論-35  文章-15  trackbacks-0

    ?MySQL集群配置(max)

    一、介紹
    ========
    這篇文檔旨在介紹如何安裝配置基于2臺服務器的MySQL集群。并且實現任意一臺服務器出現問題或宕機時MySQL依然能夠繼續運行。

    注意!
    雖然這是基于2臺服務器的MySQL集群,但也必須有額外的第三臺服務器作為管理節點,但這臺服務器可以在集群啟動完成后關閉。同時需要注意的是并不推薦在集群啟動完成后關閉作為管理節點的服務器。盡管理論上可以建立基于只有2臺服務器的MySQL集群,但是這樣的架構,一旦一臺服務器宕機之后集群就無法繼續正常工作了,這樣也就失去了集群的意義了。出于這個原因,就需要有第三臺服務器作為管理節點運行。

    另外,可能很多朋友都沒有3臺服務器的實際環境,可以考慮在VMWare或其他虛擬機中進行實驗。

    下面假設這3臺服務的情況:

    Server1: mysql1.vmtest.net 192.168.0.1
    Server2: mysql2.vmtest.net 192.168.0.2
    Server3: mysql3.vmtest.net 192.168.0.3

    Servers1和Server2作為實際配置MySQL集群的服務器。對于作為管理節點的Server3則要求較低,只需對Server3的系統進行很小的調整并且無需安裝MySQL,Server3可以使用一臺配置較低的計算機并且可以在Server3同時運行其他服務。


    二、在Server1和Server2上安裝MySQL
    =================================
    http://www.mysql.com 上下載mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz
    注意:必須是max版本的MySQL,Standard版本不支持集群部署!

    以下步驟需要在Server1和Server2上各做一次
    # mv mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz /usr/local/
    # cd /usr/local/
    # groupadd mysql
    # useradd -g mysql mysql
    # tar -zxvf mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz
    # rm -f mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz
    # mv mysql-max-4.1.9-pc-linux-gnu-i686 mysql
    # cd mysql
    # scripts/mysql_install_db --user=mysql
    # chown -R root??.
    # chown -R mysql data
    # chgrp -R mysql .
    # cp support-files/mysql.server /etc/rc.d/init.d/mysqld
    # chmod +x /etc/rc.d/init.d/mysqld
    # chkconfig --add mysqld

    此時不要啟動MySQL!



    三、安裝并配置管理節點服務器(Server3)
    =====================================
    作為管理節點服務器,Server3需要ndb_mgm和ndb_mgmd兩個文件:

    http://www.mysql.com 上下載mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz

    # mkdir /usr/src/mysql-mgm
    # cd /usr/src/mysql-mgm
    # tar -zxvf mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz
    # rm mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz
    # cd mysql-max-4.1.9-pc-linux-gnu-i686
    # mv bin/ndb_mgm .
    # mv bin/ndb_mgmd .
    # chmod +x ndb_mg*
    # mv ndb_mg* /usr/bin/
    # cd
    # rm -rf /usr/src/mysql-mgm

    現在開始為這臺管理節點服務器建立配置文件:

    # mkdir /var/lib/mysql-cluster
    # cd /var/lib/mysql-cluster
    # vi config.ini

    在config.ini中添加如下內容:

    [NDBD DEFAULT]
    NoOfReplicas=2
    [MYSQLD DEFAULT]
    [NDB_MGMD DEFAULT]
    [TCP DEFAULT]
    # Managment Server
    [NDB_MGMD]
    HostName=192.168.0.3 #管理節點服務器Server3的IP地址
    # Storage Engines
    [NDBD]
    HostName=192.168.0.1 #MySQL集群Server1的IP地址
    DataDir= /var/lib/mysql-cluster
    [NDBD]
    HostName=192.168.0.2 #MySQL集群Server2的IP地址
    DataDir=/var/lib/mysql-cluster
    # 以下2個[MYSQLD]可以填寫Server1和Server2的主機名。
    # 但為了能夠更快的更換集群中的服務器,推薦留空,否則更換服務器后必須對這個配置進行更改。
    [MYSQLD]
    [MYSQLD]

    保存退出后,啟動管理節點服務器Server3:
    # ndb_mgmd

    啟動管理節點后應該注意,這只是管理節點服務,并不是管理終端。因而你看不到任何關于啟動后的輸出信息。



    四、配置集群服務器并啟動MySQL
    =============================
    在Server1和Server2中都需要進行如下改動:

    # vi /etc/my.cnf

    [mysqld]
    ndbcluster
    ndb-connectstring=192.168.0.3 #Server3的IP地址
    [mysql_cluster]
    ndb-connectstring=192.168.0.3 #Server3的IP地址

    保存退出后,建立數據目錄并啟動MySQL:

    # mkdir /var/lib/mysql-cluster
    # cd /var/lib/mysql-cluster
    # /usr/local/mysql/bin/ndbd --initial
    # /etc/rc.d/init.d/mysqld start

    可以把/usr/local/mysql/bin/ndbd加到/etc/rc.local中實現開機啟動。
    注意:只有在第一次啟動ndbd時或者對Server3的config.ini進行改動后才需要使用--initial參數!


    五、檢查工作狀態
    ================
    回到管理節點服務器Server3上,并啟動管理終端:

    # /usr/bin/ndb_mgm
    鍵入show命令查看當前工作狀態:(下面是一個狀態輸出示例)

    [root@mysql3 root]# /usr/bin/ndb_mgm
    -- NDB Cluster -- Management Client --
    ndb_mgm> show
    Connected to Management Server at: localhost:1186
    Cluster Configuration
    ---------------------
    [ndbd(NDB)]? ???2 node(s)
    id=2? ? @192.168.0.1??(Version: 4.1.9, Nodegroup: 0, Master)
    id=3? ? @192.168.0.2??(Version: 4.1.9, Nodegroup: 0)

    [ndb_mgmd(MGM)] 1 node(s)
    id=1? ? @192.168.0.3??(Version: 4.1.9)

    [mysqld(API)]? ?2 node(s)
    id=4? ?(Version: 4.1.9)
    id=5? ?(Version: 4.1.9)

    ndb_mgm>

    如果上面沒有問題,現在開始測試MySQL:
    注意,這篇文檔對于MySQL并沒有設置root密碼,推薦你自己設置Server1和Server2的MySQL root密碼。

    在Server1中:

    # /usr/local/mysql/bin/mysql -u root -p
    > use test;
    > CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;
    > INSERT INTO ctest () VALUES (1);
    > SELECT * FROM ctest;

    應該可以看到1 row returned信息(返回數值1)。

    如果上述正常,則換到Server2上重復上面的測試,觀察效果。如果成功,則在Server2中執行INSERT再換回到Server1觀察是否工作正常。
    如果都沒有問題,那么恭喜成功!


    六、破壞性測試
    ==============
    將Server1或Server2的網線拔掉,觀察另外一臺集群服務器工作是否正常(可以使用SELECT查詢測?
    posted on 2006-05-15 13:59 Q系列類、方法、變量…… 閱讀(621) 評論(1)  編輯  收藏

    評論:
    # re: [轉貼]MySQL集群配置(max) 2006-05-15 15:03 | dudu
    不要在首頁轉載文章!  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 黑人粗长大战亚洲女2021国产精品成人免费视频 | 特级毛片爽www免费版| 色妞www精品视频免费看| 精品国产免费人成网站| 久久免费看少妇高潮V片特黄| 最刺激黄a大片免费网站| 美女被免费视频网站a国产| 亚洲精品和日本精品| 亚洲AV无码专区亚洲AV伊甸园| 亚洲黄色在线电影| 亚洲精品国产首次亮相| 五月婷婷免费视频| 国产乱辈通伦影片在线播放亚洲 | 四虎影视在线看免费观看| 免费欧洲毛片A级视频无风险| 久热综合在线亚洲精品| 青青草无码免费一二三区| 亚洲成av人片一区二区三区 | 无码久久精品国产亚洲Av影片| 中文字幕亚洲综合小综合在线| 美女被免费视频网站a| 亚洲人成影院在线观看| 亚洲av色香蕉一区二区三区 | 亚洲精品国产日韩无码AV永久免费网| 91频在线观看免费大全| 日韩精品亚洲aⅴ在线影院| 亚洲中文无码mv| 中文字幕视频免费| 亚洲日韩国产欧美一区二区三区 | 久久午夜夜伦鲁鲁片免费无码影视| 亚洲色无码一区二区三区| 国产亚洲美女精品久久| 成人免费视频小说| 78成人精品电影在线播放日韩精品电影一区亚洲 | a级毛片免费高清视频| 久久久久久亚洲Av无码精品专口| 午夜成人无码福利免费视频| 国产精品久久久亚洲| a级毛片毛片免费观看久潮喷| 成人永久免费高清| 亚洲AV无码专区亚洲AV桃|