mysql 叢集 解決單點故障,並備份)
叢集軟體
mysql-cluster-gpl-6.3.20-linux-i686-glibc23.
叢集中有三種角色
管理進程
mysqld進程
ndbd 進程
管理軟體內有有三個進程
ndb節點 資料節點)
實現備份功能至少有倆個 ndb1 和 ndb2
sql 節點 1訪問服務的介面 2執行sql 語句的終端)
sql2 節點備份sql的
管理主機 叢集中啟動程式的時候 讀設定檔 設定檔內指定叢集中主機的角色)
-------------------------------------------
等主機們都開啟了以後 管理主機關掉也可以 只要管理主機的進程啟動起來了,區分了主機的身份 ,關掉管理主機也可以)
----------------------------------------
找5台主機 1 sql1 2 sql2 3 ndb1 4 ndb2 5 管理主機
公用配置
1 service mysqld stop
2 ping
3 setenforce 0
4 service iptables stop
5 安裝叢集軟體包
5 沒有mysql使用者和組手動建立
tar -zxvf mysql-cluster-gpl-6.3.20-linux-i686-glibc23.tar.gz -C /usr/local/
mv mysql-cluster-gpl-6.3.20-linux-i686-glibc23 cluster
cd /usr/local/cluster
chown -R mysql:mysql /usr/local/cluster
組態管理節點
cd /usr/local/cluster
touch config.ini
vim config.ini 裡面不能有空行!刪掉空行
1 [ndbd default]
2 NoOfReplicas=2 儲存資料份數
3 DataMemory=80M 查詢硬體緩衝
4 IndexMemory=18M 索引硬體緩衝資訊
5 [ndb_mgmd] 管理節點進程
6 id=1 表識
7 hostname=192.168.1.2 管理主機地址
8 datadir=/user/local/cluster/dbdata 收集到的資料存放到那裡
9 [ndbd]
10 id=2 編號
11 Hostname=192.168.1.149
12 Datadir=/usr/local/cluster/dbdata
13 [ndbd]
14 id=3
15 Hostname=192.168.1.71
16 Datadir=/usr/local/cluster/dbdata
17 [mysqld]
18 Id=4
19 Hostname=192.168.1.111
21 [mysqld]
22 Id=5
23 Hostname=192.168.1.169
配置資料節點
mv /etc/my.cnf /etc/my.cnf.bak 該名
vim /etc/my.cnf 建立一個
[mysqld]
datadir=/usr/local/clster/dbdata 檔案在那,和管理主機目錄一致
ndbcluster 儲存引擎
ndb-connectstring=192.168.1.2 誰管理
[mysql_cluster] 叢集管理
ndb-connectstring=192.168.1.2 這個主機管理叢集
配置 sql節點
mv /etc/my.cnf /etc/my.cnf.bak 該名
vim /etc/my.cnf 建立一個
[mysqld]
ndbcluster 儲存引擎
ndb-connectstring=192.168.1.2 誰管理
[mysql_cluster] 叢集管理
ndb-connectstring=192.168.1.2 這個主機管理叢集
sql 節點
初始化 授權庫
[root@xu cluster]# cd /usr/local/cluster/
[root@xu cluster]# ./scripts/mysql_install_db --user=mysql 初始化資料庫
[root@xu cluster]# ls data/mysql/ 如果有檔案就初始化成功
不同的角色啟動不同的程式
啟動管理進程 按照順序啟動
1 管理主機
[root@xu cluster]# cd /usr/local/cluster/
[root@xu cluster]# ./bin/ndb_mgmd -f ../config.ini 啟動
[root@xu cluster]# pgrep mgmd 查看有沒有P id號
[root@xu cluster]# ./bin/ndb_mgm 登入管理介面
ndb_mgm> show 查看資訊
啟動資料節點
[root@xu cluster]# cd /usr/local/cluster/bin
[root@xu bin]# ./ndbd 啟動
pkill -9 ndbd 殺死進程
pgre ndbd 查看
啟動sql節點
asdsd
[root@xu bin]# cd /usr/local/cluster/
[root@xu bin]# . /bin/mysqld_safe -user=mysql & 啟動sql節點
[root@xu bin]# netstat -utanlp | grep :3306 查看連接埠是否被佔用
[root@xu cluster]# ./bin/mysql 登入mysql
mysql> create table a(id int(3))engine=ndbcluster; 建立表的時候一定要指定
啟動sql2節點
[root@xu bin]# cd /usr/local/cluster/
[root@xu bin]# . /bin/mysqld_safe -user=mysql & 啟動sql節點
[root@xu bin]# netstat -utanlp | grep :3306 查看連接埠是否被佔用
[root@xu cluster]# ./bin/mysql 登入mysql
ndb倆個節點 還有備份功能 ,
本文出自 “history_xcy” 部落格,請務必保留此出處http://historys.blog.51cto.com/7903899/1295258