標籤:mysql+heartbeat+nfs共用儲存
mysql+heartbeat+nfs共用儲存
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/71/DF/wKioL1XZ6XDwTtLgAADx3Slk5AQ136.jpg" title="1.png" alt="wKioL1XZ6XDwTtLgAADx3Slk5AQ136.jpg" />
第一步:完成基礎環境的搭建
第二步:nfs服務配置
Yum install nfs-utils rpcbind (centos 6需要注意安裝)
由於nfs服務不識別主機名稱,只識別ID號,所以必須先建立使用者,ID號要和mysql伺服器上的mysql使用者(後面建立)的ID號保持一致,這裡設定ID號都為306。
[[email protected] ~]# groupadd-g 306 -r mysql
[[email protected] ~]# useradd-g mysql -r -u 306 -s /sbin/nologin mysql
[[email protected] ~]# chown -Rmysql:mysql /sqldata/ #設定共用目錄的許可權
[[email protected] ~]#vi/etc/exports
/sqldata192.168.0.*/24(rw,no_root_squash)
讓nfs服務開機自動啟動:
[[email protected] ~]# chkconfignfs on
[[email protected] ~]/etc/init.d/rpcbind start
[[email protected] ~]/etc/init.d/nfsstart
第三步:測試mysql1和mysql2是否能夠掛載
1、保障本地掛載的目錄的許可權和nfs的目錄許可權一致
2、建立使用者和本地掛載目錄
[[email protected]mysql1 ~]# groupadd -g 306 -r mysql
[[email protected]mysql1 ~]# useradd -g mysql -u 306 -r mysql
[[email protected]mysql1 ~]# mkdir /data
3.用戶端同樣安裝 yum install -ynfs-utils rpcbind
4、啟動rpcbind,通過showmount -e192.168.0.30查看掛載情況
[[email protected]mysql1 ~]/etc/init.d/rpcbind start
[[email protected]~]# showmount -e 192.168.0.30
Export listfor 192.168.0.30:
/mysqldata192.168.0.0/24
5、掛載nfs資訊
Mount -t nfs192.168.0.30:/mysqldata/ /data/ #掛載目錄
[[email protected] ~]#df -h
Filesystem Size Used Avail Use% Mounted on
192.168.0.30:/mysqldata/
20G 173M 19G 1% /data
Mysql2與mysql1的配置一致
第四步:配置安裝mysql
1. 安裝mysql
cd /usr/local/src/
wget http://syslab.comsenz.com/downlo... -icc-glibc23.tar.gz
tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql
useradd -s /sbin/nologin mysql
cd /usr/local/mysql
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql #該使用者已經建立,ID號為306
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql
cp support-files/my-large.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
vim /etc/init.d/mysqld #修改datadir
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
步驟:1、建立mysql 使用者 ;2、建立mysql儲存目錄;3、初始化資料庫;4、COPY設定檔;5、copy開機檔案;
在/etc/profile下,添加mysql的PATH,如下所示
PATH=$PATH:/usr/local/mysql/bin
執行,source/etc/profile #讓PATH立即生效
第五步:驗證NFS Server的共用儲存
由於使用者建立的資料都是存放在NFSServer上,所以在一台mysql伺服器上建立的檔案在另一台伺服器上也應改能夠看到,以實現資料同步,這裡驗證一下。
在節點mysql1上開啟mysql服務並建立資料庫,查看在節點mysql1上是否能夠看到:
在節點mysql1上建立資料庫db1:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/71/E3/wKiom1XZ52vCovhgAACF1hR7NrE224.jpg" title="2.png" alt="wKiom1XZ52vCovhgAACF1hR7NrE224.jpg" />
此時在mysql2上查看是存在db1
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/71/E3/wKiom1XZ53XQk9tOAAETAqz1imo058.jpg" title="3.png" alt="wKiom1XZ53XQk9tOAAETAqz1imo058.jpg" />
第六步:安裝配置heartbeat,安裝過程參看博文中關於heartbeat部分
第七步:啟動heartbeat
首先在mysql1和mysql2上關閉mysqld服務
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/71/DF/wKioL1XZ6ZehGYpLAAA-eZorUdQ903.jpg" style="float:none;" title="4.png" alt="wKioL1XZ6ZehGYpLAAA-eZorUdQ903.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/71/DF/wKioL1XZ6ZfzNYFjAAAxYdU8tmQ420.jpg" style="float:none;" title="5.png" alt="wKioL1XZ6ZfzNYFjAAAxYdU8tmQ420.jpg" />
然後,安裝先主後從的順序啟動heartbeat(/etc/init.d/mysql start),接下來,如下所示可以發現mysql1(主)已經啟動了mysqld服務,而mysql2上的mysqld則沒有啟動
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/71/E3/wKiom1XZ55eSDFCGAAA7WbyVW1w829.jpg" style="float:none;" title="6.png" alt="wKiom1XZ55eSDFCGAAA7WbyVW1w829.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/71/DF/wKioL1XZ6aqRb8ZIAAAtOwtGOms256.jpg" style="float:none;" title="7.png" alt="wKioL1XZ6aqRb8ZIAAAtOwtGOms256.jpg" />
第八步:通過遠端方式串連mysqld資料庫,既串連192.168.1.200(虛擬IP地址)
1、授權192.168.1.200允許被訪問
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/71/E3/wKiom1XZ57KSJnZxAADDmqU5w4M627.jpg" title="8.png" alt="wKiom1XZ57KSJnZxAADDmqU5w4M627.jpg" />
2、在mysql1上,串連mysql資料庫
mysql -h 192.168.1.200 -uroot
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/71/E3/wKiom1XZ57yjVjnQAAB7dig9jZo468.jpg" title="9.png" alt="wKiom1XZ57yjVjnQAAB7dig9jZo468.jpg" />
3、主上停止heartbeat服務
service heartbeat stop
同理mysql2會接替mysql1的工作
4、在mysql2上,再次串連mysqld,同樣串連成功,且資料一致
mysql -h 192.168.1.200 -uroot
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/71/DF/wKioL1XZ6drxGn86AABMiSZJDd8812.jpg" title="10.png" alt="wKioL1XZ6drxGn86AABMiSZJDd8812.jpg" />
mysql+heartbeat+nfs共用儲存