实验说明:
本实验基于heartbeat的crm,实现对mysql服务的高可用,并没有高可用mysql的数据。
未完部分:使用hb_gui配置挂载nfs时,指定挂载选项,失败。
mysql数据和配置文件放在nfs共享存储上
mysql配置文件使用--default-extra-file指定
mysql用户对nfs共享的有读写权限,nfs服务器和mysql所在服务器的mysql的id号要保持一致
在nfs服务器上
1 修改hostname
# vim /etc/sysconfig/network
# hostname nfs.hiyang.com
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
指定选项时出错