RedHat AS4-U2下Mysql 5.0.22集群配置
最近看到過很多關于cluster的資料,一直在研究linux系統級的負載均衡和高可用,但是還沒有完全成功,只是實現了一些簡單的服務;今天在搜集資料中看到有關mysql的cluster,看上去不是很復雜,就花了一個下午的時間研究研究,參考了Nanu前輩的MySQL集群配置步驟,一個簡單的集群算是成功了。但是有一點我沒搞懂,是不是mysql集群配置完成后,只能同步數據庫中的表,而不能同步整個庫?請高手指點一二,謝謝!
一.實驗環境
1. Linux操作系統版本. RedHat AS4-U2
2. Mysql數據庫版本 mysql-max-5.0.22-linux-i686-glibc23.tar.gz
共三臺機器PC安裝了RedHat AS4-U2版本,首先保證把系統中沒有一個包帶有mysql的,有的話就rpm –e .
PC1 IP:192.168.10.196
PC2 IP:192.168.10.197
PC3 IP:192.168.10.198
二.安裝操作步驟
1. 在PC1、PC2上需要執行如下的命令,請按照順序來執行:
mv mysql-max-5.0.22-linux-i686-glibc23.tar.gz /usr/local/
cd /usr/local/
tar zxvf mysql-max-5.0.22-linux-i686-glibc23.tar.gz
rm mysql-max-5.0.22-linux-i686-glibc23.tar.gz
mv mysql-max-5.0.22-linux-i686-glibc23 mysql
groupadd mysql
useradd -g mysql mysql
cd mysql
s/mysql_install_db --user=mysql
chown -R mysql:mysql .
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
vi /etc/my.cnf
找到myisam_sort_buffer_size = 8M這一行,然后在后面添加如下的兩行:
ndbcluster
ndb-connectstring=192.168.10.198
然后到my.cnf的最后一行增加以下六行:
[ndbd]
connect-string=192.168.10.198
[ndb_mgm]
connect-string=192.168.10.198
[ndb_mgmd]
config-file=/var/lib/mysql-cluster
修改完畢后,保存推出!
mkdir /var/lib/mysql-cluster
2.在PC3上執行如下的命令,請按照順序執行:
mv mysql-max-5.0.22-linux-i686-glibc23.tar.gz /usr/local/
cd /usr/local/
tar zxvf mysql-max-5.0.22-linux-i686-glibc23.tar.gz
rm mysql-max-5.0.22-linux-i686-glibc23.tar.gz
mv mysql-max-5.0.22-linux-i686-glibc23 mysql
groupadd mysql
useradd -g mysql mysql
cd mysql
s/mysql_install_db --user=mysql
chown -R mysql:mysql .
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
vi /etc/my.cnf
找到myisam_sort_buffer_size = 8M這一行,然后在后面添加如下的兩行:
ndbcluster
ndb-connectstring=192.168.10.198
然后到my.cnf的最后一行增加以下六行:
[ndbd]
connect-string=192.168.10.198
[ndb_mgm]
connect-string=192.168.10.198
[ndb_mgmd]
config-file=/var/lib/mysql-cluster
修改完畢后,保存推出!
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
touch config.ini
vi config.ini 鍵入如下信息:(半個字符都不能錯)
[NDBD DEFAULT]
NoOfReplicas= 2
DataDir= /var/lib/mysql-cluster
[NDB_MGMD]
Hostname= 192.168.10.198
DataDir= /var/lib/mysql-cluster
[NDBD]
HostName= 192.168.10.197
[NDBD]
HostName= 192.168.10.196
[MYSQLD]
[MYSQLD]
[MYSQLD]
保存退出!
3.到此為止整個的配置步驟算是完成,下面需要設置一些快捷命令:
在PC1、PC2上需要輸入以下命令:
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig –add mysqld
ln -s /usr/local/mysql/bin/ndbd /usr/bin/ndbd
vi /etc/rc.local
添加一行ndbd后保存退出
在PC3上需要輸入以下命令:
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig –add mysqld
ln -s /usr/local/mysql/bin/ndb_mgm /usr/bin/ndb_mgm
ln -s /usr/local/mysql/bin/ndb_mgmd /usr/bin/ndb_mgmd
vi /etc/rc.local后添加如下一行
/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
保存退出!
三.啟動服務
PC3需要執行的命令如下:
/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
service mysqld start
PC1、PC2需要執行的命令如下:
/usr/local/mysql/bin/ndbd --initial 注:只在第一次啟動ndbd時使用--initial參數
service mysqld start
四.測試與檢查
PC3需要執行的命令如下:
ndb_mgm
執行如下命令以及顯示如下信息則說明工作正常!
[root@lzj local]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: 192.168.10.198:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.10.197 (Version: 5.0.22, Nodegroup: 0, Master)
id=3 @192.168.10.196 (Version: 5.0.22, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.10.198 (Version: 5.0.22)
[mysqld(API)] 3 node(s)
id=4 @192.168.10.198 (Version: 5.0.22)
id=5 @192.168.10.197 (Version: 5.0.22)
id=6 @192.168.10.196 (Version: 5.0.22)
ndb_mgm>
測試的時候則需要創建表,看是否三臺機器的mysql是否能夠同步。
五.注意事項
1. mysql cluster在啟動過程中必須提前啟動管理節點服務器,等管理節點啟動成功后,再啟動其它節點。
2.關閉整個集群的時候最好最后關閉管理節點
3.管理節點宕機后,剩下的某臺主機再宕機后,這樣就失去了集群的意義了。管理節點最好是24小時待命。
關鍵字:RedHat、集群、負載均衡、服務器
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解