Debian6配置Mysql集群

jopen 12年前發布 | 17K 次閱讀 MySQL 數據庫服務器

Mysql版本:mysql-cluster-gpl-7.1.14-linux-i686-glibc23.tar.gz

操作系統:Debian6.0 虛擬機

   192.168.225.131 (MGMD)

   192.168.225.133 (NDBD)

   192.168.225.134 (NDBD)

   192.168.225.135 (MySQLD)

   192.168.225.136 (MySQLD)

    Debian6配置Mysql集群

1.每臺虛擬機都安裝mysql-cluster

   root@debian:/home/john#groupadd mysql

   root@debian:/home/john#useradd -g mysql mysql

   root@debian:/home/john# tar zxf mysql-cluster-gpl-7.1.14-linux-i686-glibc23.tar.gz

   root@debian:/home/john#mv zxf mysql-cluster-gpl-7.1.14-linux-i686-glibc23 /usr/local/mysql

   root@debian:/home/john# chown mysql:mysql /usr/local/mysql

   root@debian:/home/john#rm mysql-cluster-gpl-7.1.14-linux-i686-glibc23.tar.gz

2.配置MGMD(管理節點192,168.225.131)

創建文件/var/lib/mysql-cluster/config.ini (可以是其他位置或命名)

    [NDBD DEFAULT]
    NoOfReplicas=2    
    DataMemory=100M
    IndexMemory=100M
   
    [TCP DEFAULT]
    portnumber=2202
  
    [NDB_MGMD]
    id=1
    hostname=192.168.225.131
    datadir=/var/lib/mysql-cluster
  
    [NDBD]
    id=2
    hostname=192.168.225.133
    datadir=/usr/local/mysql/ndbdata
  
    [NDBD]
    id=3
    hostname=192.168.225.134
    datadir=/usr/local/mysql/ndbdata
   
    [mysqld]
    id=4
    hostname=192.168.225.135
   
    [mysqld]
    id=5
    hostname=192.168.225.136

3.配置NDBD(數據節點192.168.225.133, 192.168.225.134)

創建/etc/my.cnf文件,內容如下

   [mysqld]
   datadir=/usr/local/mysql/ndbdata

   [mysql_cluster]
   ndb-connectstring  = 192.168.225.131 #指向mgmd

4.配置MySQLD(SQL節點192.168.225.135, 192.168.225.136)

創建/etc/my.cnf文件,內容如下

   [mysqld]
   ndbcluster                    
   ndb-connectstring=192.168.225.131

   [mysql_cluster]
   ndb-connectstring=192.168.225.131

安裝System tables

   root@debian:/usr/local/mysql/scripts# mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

5.以上配置完成無誤之后,啟動管理節點 192.168.225.131

   root@debian:/usr/local/mysql/bin# ./ndb_mgmd -f /var/lib/mysql-cluster/config.ini

   root@debian:/usr/local/mysql/bin# ./ndb_mgmd

   ndb_mgm> show

   Debian6配置Mysql集群

  初次啟動時候,id=2,3,4,5應該都是 not connected。

6.啟動NDB節點和MySQL節點

  啟動NDB節點

   root@debian:/usr/local/mysql/bin# ./ndbd

  Debian6配置Mysql集群

  啟動MySQL節點

   root@debian:/usr/local/mysql/bin# ./mysqld_safe &

  Debian6配置Mysql集群

   此處若啟動出錯,先查看第4步中 安裝System tables是否正確。

7.測試 (MySQLD節點192.168.225.135, 192.168.225.136 上進行)

   root@debian:/usr/local/mysql/bin# ln -s /usr/local/mysql/bin/mysql /usr/bin

   root@debian:/usr/local/mysql/bin# mysql -uroot test

   mysql> create table job(id int auto_increment,name varchar(100)) engine=ndbcluster default charset utf8;

   engine=ndbcluster不能少,不然節點無法同步。

   在兩個節點中創建表并插入數據,測試結果節點數據已同步...OK

 

8.后續 停止節點 重啟節點

   停止ndbd節點

   Debian6配置Mysql集群

  如果所有的數據節點ndbd都停止,SQL節點mysqld會自動都失去連接,但是mysqld進程依然存活,導致重新恢復ndbd之后,mysqld沒法自動恢復

  這時候,需要先將mysqld進程殺死,然后重啟mysqld節點。

  Debian6配置Mysql集群

 

值得注意的地方
運行/usr/local/mysql/scripts/mysql_install_db --user=mysql

參數--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data & (這點非常重要)

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!