Redhat6.5下MySQL5.6叢集配置完整版

來源:互聯網
上載者:User

Redhat6.5下MySQL5.6叢集配置完整版

1、準備三台伺服器

2、為三台機器分別安裝Linux作業系統(Oracle Linux / RHEL 6.5 x86_64bit)

3、分別IP地址

管理節點      192.168.1.110        (負責管理整個叢集)

SQL節點      192.168.1.111        (負責操作資料庫)

SQL節點      192.168.1.112        (負責操作資料庫)

資料節點      192.168.1.111        (負責儲存資料)

資料節點      192.168.1.112        (負責儲存資料)

 


SQL節點和資料節點可以同在一台機器上

 


4、修改三台伺服器的/etc/hosts檔案,修改完後的內容如下:

127.0.0.1    localhost    localhost.domain

192.168.1.110    node01

192.168.1.111    node02

192.168.1.112    node03

 

5、修改三台伺服器的/etc/sysconfig/nework檔案,修改完後的內容分別如下:

NETWORKING=yes

HOSTNAME=node01

GATEWAY=192.168.1.1    (網關地址因所處網路的不同而不同)

 


NETWORKING=yes

HOSTNAME=node02

GATEWAY=192.168.1.1    (網關地址因所處網路的不同而不同)

 

NETWORKING=yes

HOSTNAME=node03

GATEWAY=192.168.1.1    (網關地址因所處網路的不同而不同)

 


6、分別重啟三台伺服器

--------------------------------------分割線 --------------------------------------

Ubuntu 14.04下安裝MySQL

《MySQL權威指南(原書第2版)》清晰中文掃描版 PDF

Ubuntu 14.04 LTS 安裝 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主從伺服器

Ubuntu 12.04 LTS 構建高可用分布式 MySQL 叢集

Ubuntu 12.04下原始碼安裝MySQL5.6以及Python-MySQLdb

--------------------------------------分割線 --------------------------------------


7、下載NDB叢集軟體mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz 

叢集軟體有三種格式:

a、以tar.gz結尾的二制進格式

b、以rpm結尾的rpm包形式

c、以源檔案編譯安裝方式

 


rpm包安裝方式,由於是自動安裝的,所以不方便配置軟體安裝位置和資料存放區位置

 


所以通常選用.tar.gz結尾的二進位格式的安裝檔案

 


注意:mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz包含了mysql資料庫軟體和NDB叢集軟體

 


8、分別複製mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz檔案到三台伺服器上的/usr/local/目錄下

 


9、建立使用者mysql

# groupadd mysql

# useradd -r -g mysql mysql      (由於mysql使用者只是用於安裝配置NDB叢集或mysql軟體,而不用用於登陸系統)

    (所以以-r參數來建立mysql使用者,並且不用為該使用者佈建密碼)

 


10、分別在三台伺服器上解壓mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz檔案

 


# cd /usr/local

# tar zxvf mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz

# ln -s mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64  mysql

# chown -R mysql.mysql mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64

# cd mysql

# chown -R mysql.mysql .

配置完成以後,結果如下

 

 

 

11、在192.168.1.111和192.168.1.112兩個資料節點(兩台伺服器)上安裝mysql資料庫軟體

由於是二進位安裝,所以mysql資料庫軟體就安裝在/usr/local/mysql下,

    但資料庫的資料可以存放到其它地方,如/u01/app/mysql/data/下面

 

注意:以下命令在兩台資料節點伺服器上都要執行

 

# mkdir -p /u01/app/mysql/data

# chown -R mysql.mysql /u01

# cd /usr/local/mysql

# scripts/mysql_install_db --basedir=/usr/local/mysql  --datadir=/u01/app/mysql/data --user=mysql

執行完這條命令以後,資料庫的資料檔案(包括mysql,test , performance_schema等資料庫)就被安裝到了

/u01/app/mysql/data目錄下了

 


# cp bin/ndbd  /usr/local/bin/

# cp bin/ndbmtd /usr/local/bin/

然後將啟動資料庫服務的開機檔案複製到/etc/rc.d/init.d/目錄下

 


# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld    (改名)

執行完上面這條命令以後,就可以使用service mysqld start | stop | restart命令來管理資料庫服務了

 


# cp my.cnf  /etc/my.cnf

# vi /etc/my.cnf

[mysqld]

ndbcluster

basedir=/usr/local/mysql

datadir=/u01/app/mysql/data

port=3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 


[mysql_cluster]

ndb-connectstring=192.168.1.110

 

再次注意:以上命令在兩台資料節點伺服器上都要執行

 

到此,資料節點和SQL節點的安裝配置就結束了,如果資料節點和SQL節點是分開在不同的機器上,則每個資料節點

和每個SQL節點都要執行以上命令。

 


12、在管理節點上進行安裝配置

 

由於第10步已經解壓縮mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz 安裝包到了/usr/local

目錄下,並進行了軟串連等操作,所以這些工作就不用重複做了,接著往下配置即可

 


# cd /usr/local/mysql

# mkdir mysql-cluster    (建立mysql-cluster目錄,後面啟動叢集管理服務時要用)

# cp bin/ndb_mgm*    /usr/local/bin/

# cd /var/lib

# mkdir mysql-cluster

# cd mysql-cluster

# vi config.ini  (這是管理節點上的叢集設定檔,很重要)

[ndbd default]

NoOfReplicas=1    # Number of replicas

DataMemory=80M    # How much memory to allocate for data storage

IndexMemory=18M  # How much memory to allocate for index storage

                # For DataMemory and IndexMemory, we have used the

                  # default values. Since the "world" database takes up

                  # only about 500KB, this should be more than enough for

                  # this example Cluster setup.

 


[tcp default]

                  # This the default; however, you can use any

                  # port that is free for all the hosts in the cluster

                  # Note: It is recommended that you do not specify the port

                  # number at all and simply allow the default value to be used

                  # instead

 


[ndb_mgmd]

hostname=192.168.1.110          # Hostname or IP address of MGM node

datadir=/var/lib/mysql-cluster  # Directory for MGM node log files

NodeId=1

 


[ndbd]

hostname=192.168.1.111        # Hostname or IP address

datadir=/u01/app/mysql/data  # Directory for this data node's data files

NodeId=2

 


[ndbd]

hostname=192.168.1.112        # Hostname or IP address

datadir=/u01/app/mysql/data  # Directory for this data node's data files

NodeId=3

 

 

[mysqld]

hostname=192.168.1.111        # Hostname or IP address

NodeId=4                      # (additional mysqld connections can be

                              # specified for this node for various

                              # purposes such as running ndb_restore)

 


[mysqld]

hostname=192.168.1.112        # Hostname or IP address

NodeId=5                      # (additional mysqld connections can be

                              # specified for this node for various

                              # purposes such as running ndb_restore)

 


配置說明:

[ndbd default]                這部分是公用部分,對於每一個資料節點都有效,只需要配置一份

NoOfReplicas=1                資料鏡像幾份(各資料節點之間相互備份)

 


[tcp default]                針對每個資料節點及管理節點之間使用哪個連接埠進行通訊,

                              在舊版本的NDB叢集軟體配置時,這個地方通常配置portnumber=2202

                              但新版的NDB軟體這裡不需要配置,並且MySQL官方也強烈建議不要配置

 


[ndb_mgmd]                    管理節點的配置部分(通常只有一個)

                              注意NodeId=1指明管理節點的節點ID為1,如果不指定,在啟動叢集時,會報錯

hostname=192.168.1.110          指明管理節點的IP地址

datadir=/var/lib/mysql-cluster  指明叢集管理日誌存放的位置

 


[ndbd]                        資料節點配置部分,有幾個資料節點就配置幾個[ndbd]

hostname=192.168.1.111        指明資料節點的IP地址

datadir=/u01/app/mysql/data    指明資料節點上的資料庫檔案存放的位置

NodeId=2                      指明該資料節點在整個叢集中的nodeid號(很重要)

 

[mysqld]                      SQL節點配置部分,有幾個SQL節點,就配置幾個[mysqld]

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.