在linux服务器lvs负载均衡双机热备应用中经常用到mysql双机热备安装和配置过程如下
一 安装MYSQL
# cp mysqlstandardpclinuxgnuitargz /usr/local/
# tar zxvf mysqlstandardpclinuxgnuitargz
# mv mysqlstandardpclinuxgnui mysql
# cd mysql
# more INSTALLBINARY
查看安装文档注意以红色框内为主
# groupadd mysql (建立mysql组)
# useradd g mysql mysql (建立mysql用户并将其用户加入该组)
# scripts/mysql_install_db user=mysql (以mysql用户身份执行数据库初始化安装脚本)
# chown R root (归属root权限为当前目录)
# chown R mysql data (归属mysql权限为data目录)
# chgrp R mysql (改变mysql档案/目录的使用者与群组拥有人为当前目录)
# bin/mysqld_safe user=mysql & (以mysql用户身份后台启动mysql数据库进程)
之后我们就可以启动mysql数据库如图
显示为上述图表示安装正确
为了使数据库更加安全我们来设置数据库密码
如在下次启动服务器时能自动启动mysql数据库进程我们还需写入/etc/rcd/rclocal文件里
echo /usr/local/mysql/bin/mysqld_safe user=mysql & >;>; /etc/rcd/rclocal
二配置MYSQL双机热备
传统模式都是采用mysql双机互备至于双机热备我搜索了大量的精华帖子都没有发现安装配置文档故我的一个想法产生了当建立新的数据库时默认会建立到/usr/local/mysql/data这里如果能改掉默认配置文件nf建立数据库能指定在一个目录上如我建立在盘柜上这样就能实现双机热备功能
最起初困惑我的是如何更改配置文件nf我咨询了很多朋友但都没能成功后听yddll朋友一席言把阵列的文件系统挂在/usr/local/mysql/data下顿时茅塞顿开使我如拨云雾而见青天原理都清楚了下面开始实施
# fdisk /dev/sdb
# reboot
# mkfsext /dev/sdb(把阵列格式成ext格式)
# 我们首先把/usr/local/mysql/data/目录下的所有文件拷贝到另一个目录我这里自创建了一个
# mkdir –p /bak/mysql_data
# cd /usr/local/mysql/data/
# cp –a * /bak/mysql_data
# 之后我们要把/dev/sdb挂载进去
# mount /dev/sdb /usr/local/mysql/data/
# 注这时你启动mysql进程它会抱错因为此/usr/local/mysql/data/为空故我们要把刚才备份的文件和目录拷回原处
# cd /bak/mysql_data
# cp –a * /usr/local/mysql/data/
# 现在就可以启动mysql数据库了但当建立数据库时会提示错误在这里又困惑了不少时间最终想起目录属性还没有更改
# 先停下数据库执行命令/usr/local/mysql/bin/mysqladmin –uroot –p shutdown
# cd /usr/local/mysql/
# chown R mysql data(这样就可以了)
# 我们再次启动mysql数据库进程/usr/local/mysql/bin/mysqld_safe user=mysql &
# 这时你再建立数据库create database squall;
# 回车后就会提示成功辅机也要把/dev/sdb挂载进去show databases就可以看见在主机建立的squall数据库