二,配置MySQL服务器,并为配置HA做准备工作:
为了配置一台Linux主机成为HA的节点,通常需要做出如下的准备工作:
注意:要保证两台server的系统时间一致
1)所有节点的主机名称和对应的IP地址解析服务可以正常工作,且每个节点的主机名称需要跟"uname -n“命令的结果保持一致;因此,需要保证两个节点上的/etc/hosts文件均为下面的内容:
172.16.30.4 node1.magedu.com node1
172.16.30.6 node2.magedu.com node2
为了使得重新启动系统后仍能保持如上的主机名称,还分别需要在各节点执行类似如下的命令:
Node1:
# sed -i 's@\(HOSTNAME=\).*@\1node1.magedu.com@g' /etc/sysconfig/network
# hostname node1.magedu.com
Node2:
# sed -i 's@\(HOSTNAME=\).*@\1node2.magedu.com@g' /etc/sysconfig/network
# hostname node2.magedu.com
2)设定两个节点可以基于密钥进行ssh通信,这可以通过类似如下的命令实现:
Node1:
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2
Node2:
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1
172.16.30.4上的配置:
# groupadd -g 306 -r mysql
# useradd -u 306 -g mysql -r mysql
# mkdir /mydata
挂载NFS文件系统:
# mount -t nfs 172.16.30.5:/mydata /mydata
# ls /mydata
以mysql用户的身份创建要存放mysql数据文件的目录:
$ su - mysql
$ cd /mydata
$ mkdir data
$ exit
172.16.30.6上也要进行配置,但配置与此相同(不用以mysql用户身份创建data目录)。
172.16.30.4的配置:
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
172.16.30.6上的配置文件和此相同,故直接复制过去:
# scp /etc/my.cnf node2:/etc/my.cnf
为mysql提供sysv服务脚本,使其能使用service命令:
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
添加至服务列表:
# chkconfig --add mysqld
确保开机不能自动启动,我们要用CRM控制:
# chkconfig mysqld off
而后就可以启动服务测试使用了:
#service mysqld start
测试之后关闭服务:
# 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 (重新登录系统即可生效)
172.16.30.6上的配置:
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
不能对数据库进行初始化,因为我们在172.16.30.4上已经初始化了:
# chown -R root:mysql .
mysql配置文件已经复制过来了,不用改。但要为mysql提供sysv服务脚本,使其能使用service命令:
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
添加至服务列表:
# chkconfig --add mysqld
确保开机不能自动启动,我们要用CRM控制:
# chkconfig mysqld off
而后就可以启动服务测试使用了:(只有172.16.30.4的mysql服务停了才能进行测试)
#service mysqld start
然后关闭服务:
# 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 (重新登录系统即可生效)
集群:corosync+pacemaker实现MySQL服务高可用(2)
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:http://www.heiqu.com/50f541c0c4da32ab8ad6609d3cfbadac.html