實驗說明:node
本實驗基於heartbeat的crm,實現對mysql服務的高可用,並無高可用mysql的數據。
mysql
未完部分:使用hb_gui配置掛載nfs時,指定掛載選項,失敗。linux
mysql數據和配置文件放在nfs共享存儲上
sql
mysql配置文件使用--default-extra-file指定vim
mysql用戶對nfs共享的有讀寫權限,nfs服務器和mysql所在服務器的mysql的id號要保持一致服務器
在nfs服務器上ssh
1 修改hostnameide
# vim /etc/sysconfig/networkui
# hostname nfs.hiyang.comspa
2 實現開機自動掛載
# mkdir /data/mysql -p
# vim /etc/fstab
增長下一行,實現開機自動掛載
/dev/myvg/lvtest /data/mysql ext3 defaults,acl 0 0
讀取fstab文件
# mount -a
3 修改mysql用戶的信息
3.1 修改組id
# groupmod -g 3306 mysql
3.2 修改用戶id,不讓其登陸,指定家目錄
# usermod -u 3306 -g 3306 -s /sbin/nologin -d /data/mysql/ mysql
3.3 查看mysql用戶信息
# id mysql
uid=3306(mysql) gid=3306(mysql) groups=3306(mysql)
# finger mysql
Login: mysql Name: MySQL Server
Directory: /data/mysql/ Shell: /sbin/nologin
Never logged in.
3.4 修改mysql數據目錄的屬主和屬組
# chown -R mysql.mysql /data/mysql
4 nfs共享目錄
# vim /etc/exports
/data/mysql 192.168.8.0/24(rw,no_root_squash)
此處若沒有no_root_squash,mysql初始化時使用的是root用戶,則沒法訪問nfs共享文件,沒法完成mysql初始化
# exportfs -arv
exporting 192.168.8.0/24:/data/mysql
由於以前heartbeat已經在運行,因此先中止heartbeat
# ssh node2.hiyang.com "service heartbeat stop"
# service heartbeat stop
在node1上
1 建立mysql的家目錄
# mkdir /data/
2 修改mysql用戶信息
# groupmod -g 3306 mysql
# usermod -u 3306 -g 3306 -s /sbin/nologin -d /data/ mysql
3 掛載
# mount -nfs -o nolock,nfsverrs=3 192.168.8.111:/data/ /data/
# ls -ld /data/mysql/
drwxr-xr-x 3 mysql mysql 4096 Jun 26 11:46 /data/mysql/ #用戶映射成了本地的mysql
4 使用二進制格式mysql,初始化
# tar xf mysql-5.5.49-linux2.6-x86_64.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv mysql-5.5.49-linux2.6-x86_64 mysql
# cd mysql
# chown -R root.mysql ./
# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/
4.1 查看初始化後的數據
# ls /data/mysql/ -l
total 12
drwx------ 2 mysql root 4096 Jun 26 13:45 mysql
drwx------ 2 mysql mysql 4096 Jun 26 13:45 performance_schema
drwx------ 2 mysql root 4096 Jun 26 13:45 test
4.2 mysql配置文件
# cp support-files/my-large.cnf /etc/my.cnf
# vim /etc/my.cnf
datadir = /data/mysql
innodb_file_per_table = 1
4.3 mysql服務腳本
# cp support-files/mysql.server /etc/init.d/mysqld
5 啓動mysql
# service mysqld start OK
# /usr/local/mysql/bin/mysql OK
建立database,tables OK
6 卸載nfs共享目錄
# umount /data/mysql/
7 複製配置文件和服務腳本到node2
# scp /etc/my.cnf node2.hiyang.com:/etc/
# scp /etc/init.d/mysqld node2.hiyang.com:/etc/init.d
在node2上
1 mysql用戶的建立和在node1相同,數據目錄/data/的屬性也和node1相同
2 掛載nfs共享目錄
# mount -nfs -o nolock,nfsverrs=3 192.168.8.111:/data/mysql /data/
3 使用二進制格式mysql,此處不用初始化沒有散去了數據
# tar xf mysql-5.5.49-linux2.6-x86_64.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv mysql-5.5.49-linux2.6-x86_64 mysql
# cd mysql
# chown -R root.mysql ./
配置文件和服務腳本也複製過了,能夠啓動mysql了
4 啓動mysql
# service mysqld start OK
# /usr/local/mysql/bin/mysql OK
建立database,tables OK
在組中建立資源 ip filesystem mysqld
指定選項時出錯