mysql集羣

MySQL集羣

1、 Mysql集羣中服務器的角色:

客戶端:訪問集羣,訪問工具mysql
數據節點:存儲表中的記錄,至少2臺

Sql節點:客戶端訪問集羣的接口,至少2臺

管理節點:管理集羣中的所有主機,1臺

2、 實驗環境

準備5臺服務器,操作系統rhel6,能夠正常通信

Service  mysql   stop

Chkconfig   mysql  off

[root@localhost ~]#rpm  -qa  | grep  -i  mysql

[root@localhost ~]# rpm -e --nodeps MySQL-server

[root@localhost ~]# rpm -e --nodeps MySQL-client

[root@localhost ~]# rpm -e --nodeps MySQL-shared-compat

[root@localhost ~]# rpm -e --nodeps MySQL-embedded

[root@localhost ~]# rpm -e --nodeps MySQL-test

[root@localhost ~]# rpm -e --nodeps MySQL-devel

mv  /etc/my.cnf   刪掉或移走

3、 在所有主機安裝軟件包

[root@localhost ~]# tar vxf

MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpm-bundle.tar

[root@localhost ~]#rpm vUh  MySQL-cluster-*rpm(7個)

Mysql集羣軟件提供3種進程:

mysql進程(數據庫服務):在sql節點上運行

ndbd進程:把數據寫入數據節點,在數據節點上運行

mgmd管理進程:在mgm節點上運行

進程啓動時加載自己的配置config.Ini,部署集羣中主機的角色

4、 配置管理節點

(1) 編寫管理節點運行時加載的配置文件config.ini

Mkdir  /var/log/mysql-cluster

Vim  /etc/config.ini

[ndbd  default]  

NoOfReplicas=2

DataMemory=80M  

IndexMemory=18M

[ndb_mgmd]  

nodeid=1  

hostname=192.168.10.253

datadir=/var/log/mysql-cluster  

[ndbd]

nodeid=2  

hostname=192.168.10.10

datadir=/mysql-cluster/data

[ndbd]

nodeid=3

hostname=192.168.10.20  

datadir=/mysql-cluster/data

[mysqld]

nodeid=4

hostname=192.168.10.100

[mysqld]

nodeid=5

hostname=192.168.1.200

(2) 編輯數據節點(192.168.10.10、192.168.10.20)

mkdir  -p   /mysql-cluster/data

vim /etc/my.cnf

[mysqld]

datadir=/mysql-cluster/data  

ndb-connectstring=192.168.10.253

ndbcluster  

[mysql_cluster]

ndb-connectstring=192.168.10.253

5、 配置SQL節點(192.168.10.100、192.168.10.200)

vim /etc/my.cnf

[mysqld]

ndbcluster  

default-storage-engine=ndbcluster

[mysql_cluster]

ndb-connectstring=192.168.10.253

6、 啓動服務

(1) 啓動管理進程

ndb_mgmd  -f  /etc/config.ini

ndb_mgm

>show

(2) 啓動數據節點:

ndbd  (--initial)     //啓動

停止數據進程:pkill  -9 ndbd

(3) 啓動sql節點:service  mysql   start   數據庫目錄/var/lib/mysql

驗證 :集羣是否能夠解決單點故障?

 是否能實現數據自動備份?


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章