1、实验环境

HA1:192.168.1.17(RHEL5.8_32bit,web server)

HA2:192.168.1.18(RHEL5.8_32bit,web server)

NFS:192.168.1.19(RHEL5.8_32bit,nfs server)

VIP:192.168.1.20

2、搭建NFS服务器

<1> 建立LVM逻辑卷

# fdisk /dev/sdan --> e --> n --> +8G --> t --> 5 --> 8e --> w# partprobe /dev/sda# pvcreate /dev/sda5# vgcreate myvg /dev/sda5# lvcreate -L 5G -n mydata myvg# lvs# mke2fs -j /dev/myvg/mydata# mkdir /mydata# vim /etc/fstab/dev/myvg/mydata        /mydata                 ext3    defaults        0 0# mount -a

<2> 创建MySQL账户

# groupadd -g 3306 mysql# useradd -u 3306 -g mysql -s /sbin/nologin -M mysql# mkdir /mydata/data# chown -R mysql.mysql /mydata/data

<3> 配置NFS服务

# vim /etc/exports/mydata         192.168.1.17(no_root_squash,rw) 192.168.1.18(no_root_squash,rw)# exportfs -arv

3、创建MySQL账户(各个节点)

各个节点和NFS上存在mysql账号且id号必须保持一致

# groupadd -g 3306 mysql# useradd -u 3306 -g 3306 -s /sbin/nologin -M mysql# mkdir /mydata

4、挂载NFS目录并测试是否可写(各个节点)

# mount 192.168.1.19:/mydata /mydata# ll /mydata# usermod -s /bin/bash mysql# su - mysql$ cd /mydata/data$ touch a$ ls$ rm a$ exit# usermod -s /sbin/nologin mysql# umount /mydata

5、通用二进制安装并配置MySQL服务(各个节点)

<1> 解压包并修改目录权限

# tar xf mysql-5.5.28-linux2.6-i686.tar.gz -C /usr/local# cd /usr/local# ln -sv mysql-5.5.28-linux2.6-i686 mysql# cd mysql# chown -R root:mysql ./*

<2> 挂载NFS目录并初始化MySQL

MySQL初始化时使用root账号执行,NFS服务需配置no_root_squash,但是安全性缺乏保证,因此尽量配置指定各个节点地址共享

HA1:(其他节点上无需做初始化MySQL,即此步骤省略)

# mount 192.168.1.19:/mydata /mydata# scripts/mysql_install_db --user=mysql --datadir=/mydata/data/# ll /mydata/data/

<3> 修改配置文件

# cp support-files/my-large.cnf /etc/my.cnf# vim /etc/my.cnf[mysqld]datadir = /mydata/datainnodb_file_per_table = 1

<4> 添加启动脚本(关闭自启动)

# cp support-files/mysql.server /etc/init.d/mysqld# chkconfig --add mysqld# chkconfig mysqld off

6、挂载NFS目录并测试MySQL服务是否正常(各个节点)

# mount 192.168.1.19:/mydata /mydata# service mysqld start# /usr/local/mysql/bin/mysqlmysql> create database mydb;mysql> show databases;mysql> show global variables like '%innodb%';# service mysqld stop# umount /mydata

7、启动Heartbeat v2服务并使用crm配置资源

HA1:

# service heartbeat start# ssh node2 'service heartbeat start'# crm_mon(查看哪个主节点)# hb_gui &

crm配置资源组:(资源启动顺序:vip, mysqlstore, mysqld)

8、使用mysql客户端测试

<1> 主节点上配置远程访问的mysql账号

# /usr/local/mysql/bin/mysqlmysql> grant all on *.* to root@'%' identified by 'redhat';mysql> flush privileges;

<2> 客户端登陆测试

# mysql -uroot -h192.168.1.20 -pmysql> show databases;mysql> use mydb;mysql> create table test (id int unsigned not null auto_increment primary key,name char(20));

<3> 将主节点standby而后客户端登陆测试

# mysql -uroot -h192.168.1.20 -pmysql> show tables;mysql> desc test;