集群:DRBD+corosync+pacemaker实现MySQL服务高可用(3)

二,MySQL的安装
 
1,node1上的配置:
添加用户和组:
# groupadd -r mysql
# useradd -g mysql -r mysql
 
由于主设备才能读写,挂载,故我们还要设置node1为主设备,node2为从设备:
node2上操作:
# drbdadm secondary mysql
node1上操作:
# drbdadm primary mysql
 
挂载drbd设备:
# mount /dev/drbd0 /mydata
# mkdir /mydata/data
data目录要用存放mysql的数据,故改变其属主属组:
# chown -R mysql.mysql /mydata/data/
查看:
# ls /mydata/
data  lost+found
 
mysql的安装;
# tar xf mysql-5.5.20-linux2.6-i686.tar.gz -C /usr/local
# cd /usr/local/
# ln -sv mysql-5.5.20-linux2.6-i686  mysql
# cd mysql
 
# chown -R mysql:mysql  .
 
初始化mysql数据库:
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
# chown -R root  .
 
为mysql提供主配置文件:
# cp support-files/my-large.cnf  /etc/my.cnf
 
并修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:
# vim /etc/my.cnf
thread_concurrency = 2
 
另外还需要添加如下行指定mysql数据文件的存放位置:
datadir = /mydata/data
 
为mysql提供sysv服务脚本,使其能使用service命令:
# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
 
node2上的配置文件,sysv服务脚本和此相同,故直接复制过去:
# scp /etc/my.cnf node2:/etc/
# scp /etc/rc.d/init.d/mysqld node2:/etc/rc.d/init.d
 
添加至服务列表:
# chkconfig --add mysqld
确保开机不能自动启动,我们要用CRM控制:
# chkconfig mysqld off
 
而后就可以启动服务测试使用了:
# service mysqld start
测试之后关闭服务:
# ls /mydata/data  查看其中是否有文件
# service mysqld stop
 
为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,这里还需要进行如下步骤:
输出mysql的man手册至man命令的查找路径:
# vim /etc/man.config
添加如下行即可:
MANPATH  /usr/local/mysql/man
 
输出mysql的头文件至系统头文件路径/usr/include,这可以通过简单的创建链接实现:
# ln -sv /usr/local/mysql/include  /usr/include/mysql
 
输出mysql的库文件给系统库查找路径:(文件只要是在/etc/ld.so.conf.d/下并且后缀是.conf就可以)
# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
 
而后让系统重新载入系统库:
# ldconfig
 
修改PATH环境变量,让系统所有用户可以直接使用mysql的相关命令:
#vim /etc/profile
PATH=$PATH:/usr/local/mysql/bin  (重新登录系统即可生效)
 
卸载drbd设备:
# umount /mydata
 
2,node2上的配置:
添加用户和组:
# groupadd -r mysql
# useradd -g mysql -r mysql
 
由于主设备才能读写,挂载,故我们还要设置node2为主设备,node1为从设备:
node1上操作:
# drbdadm secondary mysql
node2上操作:
# drbdadm primary mysql
挂载drbd设备:
# mount /dev/drbd0 /mydata
 
查看:
# ls /mydata/
data  lost+found
 
mysql的安装;
# tar xf mysql-5.5.20-linux2.6-i686.tar.gz -C /usr/local
# cd /usr/local/
# ln -sv mysql-5.5.20-linux2.6-i686  mysql
# cd mysql
 
一定不能对数据库进行初始化,因为我们在node1上已经初始化了:
# chown -R root:mysql  .
 
mysql主配置文件和sysc服务脚本已经从node1复制过来了,不用在添加。
 
添加至服务列表:
# chkconfig --add mysqld
确保开机不能自动启动,我们要用CRM控制:
# chkconfig mysqld off
 
而后就可以启动服务测试使用了:(确保node1的mysql服务停止)
# service mysqld start
测试之后关闭服务:
# ls /mydata/data  查看其中是否有文件
# service mysqld stop
 
为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,这里还需要进行一些类似node1上的操作,由于方法完全相同,不再阐述!
 
卸载设备:
# umount /dev/drbd0

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/709138dbd9e2d012447a43387685b28f.html