sso项目实现MYSQL主从复制高可用.docx

上传人:b****8 文档编号:24012879 上传时间:2023-05-23 格式:DOCX 页数:15 大小:520.08KB
下载 相关 举报
sso项目实现MYSQL主从复制高可用.docx_第1页
第1页 / 共15页
sso项目实现MYSQL主从复制高可用.docx_第2页
第2页 / 共15页
sso项目实现MYSQL主从复制高可用.docx_第3页
第3页 / 共15页
sso项目实现MYSQL主从复制高可用.docx_第4页
第4页 / 共15页
sso项目实现MYSQL主从复制高可用.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

sso项目实现MYSQL主从复制高可用.docx

《sso项目实现MYSQL主从复制高可用.docx》由会员分享,可在线阅读,更多相关《sso项目实现MYSQL主从复制高可用.docx(15页珍藏版)》请在冰豆网上搜索。

sso项目实现MYSQL主从复制高可用.docx

sso项目实现MYSQL主从复制高可用

sso项目实现MYSQL主从复制高可用

 

文档属性

标题

MYSQL主从复制高可用方案

作者

黄佳

创建日期

2007年11月26日

版本

Release1.0

修改日期

应用需求:

双机热备提供备份,冗余功能

安装环境:

NODE1主机名server113IP地址172.20.16.113

NODE2主机名dddl.137IP地址172.20.16.137

VIAIP(漂移IP)172.20.16.119

NODE1为主节点,NODE2为从节点,同步的数据库名SSO

在安装之前请确认下面的安装包不存在:

rpm-emysql-devel-4.1.20-1.RHEL4.1

rpm-emysql-bench-4.1.20-1.RHEL4.1

rpm-ephp-mysql-4.3.9-3.15

rpm-elibdbi-dbd-mysql-0.6.5-10.RHEL4.1

rpm-emod_auth_mysql-2.6.1-2.2

rpm-emysql-server-4.1.20-1.RHEL4.1

rpm-eMySQL-python-1.0.0-1.RHEL4.1.i386

rpm-eMyODBC-2.50.39-21.RHEL4.1.i386

rpm-eqt-MySQL-3.3.3-9.3.i386

rpm-emysqlclient10-devel-3.23.58-4.RHEL4.1.i386

rpm-emysqlclient10-3.23.58-4.RHEL4.1

rpm-ecyrus-sasl-sql-2.1.19-5.EL4.i386

rpm-eperl-DBD-MySQL-2.9004-3.1.i386

rpm-edovecot-0.99.11-4.EL4.i386

rpm-efreeradius-mysql-1.0.1-3.RHEL4.3.i386

rpm-emysql-4.1.20-1.RHEL4.1

安装准备:

相关工具包

redhatas4update432位

mysql-5.0.45-linux-i686-icc-glibc23.tar.gz

libnet-1.1.2.1-1.rh.el.um.1.i386.rpm

heartbeat-pils-2.0.4-1.el4.i386.rpm

heartbeat-stonith-2.0.4-1.el4.i386.rpm

heartbeat-2.0.4-1.el4.i386

perl-5.8.8.tar.gz

DBI-1.59.tar.gz

DBD-mysql-4.005.tar.gz

Time-HiRes-01.20.tar.gz

Period-1.20.tar.gz

Convert-BER-1.31.tar.gz

Mon-0.11.tar.gz

mon-0.99.3-47.tar.gz

一、安装MYSQL主从都要做

#cd/usr/local/

#tarzxvfmysql-5.0.45-linux-i686-icc-glibc23.tar.gz

#mvmysql-5.0.45-linux-i686-icc-glibc23mysql

#cdmysql

#groupaddmysql

#useradd-gmysqlmysql

#./scripts/mysql_install_db--user=mysql

#cpsupport-files/mysql.server/etc/rc.d/init.d/mysqld

#chkconfig--addmysqld

#/etc/rc.d/init.d/mysqldstart

主机和从机一样进行操作:

cp./support-files/my-f/etc/f

vi/etc/f

主机:

打开server-id=1关闭server-id=2;打开一个log-bin=mysql-bin;添加binlog-do-db=sso。

从机:

关闭server-id=1打开server-id=2;关闭所有的log-bin=mysql-bin。

mysql主从复制的配置

在主机上操作

#cd/sur/local/mysql/bin

#mysql

Mysql>createdatabasesso;#从机也需要建立一样的数据库

Mysql>setpasswordforroot@localhost=password(‘sso’);#给ROOT用户建立密码

Mysql>flushprivileges;

Mysql>GRANTreplicationslaveON*.*TOslave@172.20.16.137IDENTIFIEDBY'sso';

#./mysqldump-uroot-psso>sso.sql

#scpsso.sqlroot@172.20.16.137:

/tmp/backup

在从机上操作

Mysql>createdatabasesso;#从机需要建立与主机一样的数据库

导入主机的数据库

#./bin/mysql-uroot-psso

登入数据库操作

Mysql>setpasswordforroot@localhost=password(‘sso’);#给ROOT用户建立密码

Mysql>flushprivileges;

Mysql>CHANGEMASTERTO

MASTER_HOST='172.20.16.113',

MASTER_PORT=3306,

MASTER_USER='slave',----------------此帐号和密码是在主服务器上建立一个复制帐号

MASTER_PASSWORD='sso',

MASTER_LOG_FILE='mysql-bin.000014',-------这个在主机上通过

Mysql>showmasterstatus;命令获得

MASTER_LOG_POS=98;----------------------------这个在主机上通过

Mysql>showmasterstatus;命令获得

Mysql>Slavestart;

Mysql>showslavestatus\G;

检查一下Master_Log_File和Master_Log_Pos是不是和主机的一样同时下面两个必须都为YES才对。

Slave_IO_Running:

Yes

Slave_SQL_Running:

Yes

二、HEARTBEAT软件包安装---------主从都需要作

#rpm-ivhlibnet-1.1.2.1-1.rh.el.um.1.i386.rpm

#rpm-ivhheartbeat-pils-2.0.4-1.el4.i386.rpm

#rpm-ivhheartbeat-stonith-2.0.4-1.el4.i386.rpm

#rpm-ivhheartbeat-2.0.4-1.el4.i386.rpm

配置PERL环境

#rpm-eperl-DBD-Pg-1.31-6.i386

#rpm-eperl-DBI-1.40-8

#rm-rf/usr/lib/perl

#rm-rf/usr/bin/perl*

#rm-rf/usr/share/man/man1/perl*

#rm-rf/usr/local/bin/perl*

#cd/usr/lib

#tarzxvfperl-5.8.8.tar.gz

#mvperl-5.8.8perl

#cdperl

#./Configure-de

#make

#maketest

#makeinstall

#tarzxvfDBI-1.59.tar.gz

#cdDBI-1.59

#perlMakefile.PL

#make

#maketest

#makeinstall

#cd/usr/lib/

#tarzxvfDBD-mysql-4.005.tar.gz

#mvDBD-mysql-4.005dbd

#cddbd/DBD-mysql-4.005

#perlMakefile.PL

#make

#makeinstall

配置HEARTBEAT相关文件

cp/usr/share/doc/heartbeat-2.0.4/authkeys/etc/ha.d

Authkeys配置

#cd/etc/ha.d/

#viauthkeys

auth1#注释取消

#1crc

1sha1HI!

#注释取消,并把2变为1

#3md5Hello!

#chmod600authkeys

cp/usr/share/doc/heartbeat-2.0.4/haresources/etc/ha.d

vi/etc/ha.d/haresources添加如下一行

server113172.20.16.19

-----------------server113是指主服务器的主机名

-----------------172.20.16.19是指对外提供的虚拟ip

cp/usr/share/doc/heartbeat-2.0.4/ha.cf/etc/ha.d

ha.cf配置:

vi/etc/ha.d/ha.cf

改动的地方如下:

debugfile/var/log/ha-debug#注释取消

logfile/var/log/ha-log#注释取消

keepalive2#注释取消

deadtime30#注释取消

warntime10#注释取消

initdead120#注释取消

udpport694#注释取消

bcasteth0#Linux#注释取消

nodeserver113#添加

nodedddl.137#添加

vi/etc/hosts

添加如下两行:

172.20.16.113server113

172.20.16.137dddl.137

三、安装配置MON相关文件仅仅在主机上安装,从机无需安装

#tarzxvfTime-HiRes-01.20.tar.gz

#cdTime-HiRes-01.20

#perlMakefile.PL

#make

#makeinstall

#tarzxvfPeriod-1.20.tar.gz

#cdPeriod-1.20

#perlMakefile.PL

#make

#makeinstall

#tarzxvfConvert-BER-1.3101.tar.gz

#cdConvert-BER-1.3101

#perlMakefile.PL

#make

#makeinstall

#tarzxvfMon-0.11.tar.gz

#cdMon-0.11

#perlMakefile.PL

#make

#makeinstall

#cd/usr/lib/

#tarzxvfmon-0.99.3-47.tar.gz

#mvmon-0.99.3-47mon

#cdmon

#ln-s/usr/lib/mon/etc//etc/mon

mon.cf配置

#cpetc/example.cfmon.cf

vi/etc/mon/mon.cf添加如下:

hostgroupserver113172.20.16.119#主机名+虚拟IP

watchserver113#监控的主机

servicemysqld#监控MYSQL服务

interval5s

monitormysql.monitor#负责监控MYSQL服务的文件

periodwd{Mon-Sun}

alertbring-ha-down.alert#负责停止HEARTBEAT的文件

alertmail.alerthuangjia@#发送电邮的参数

upalertmail.alerthuangjia@

alertevery600s

alertafter3

#cd/usr/lib/mon

#mvmon.d/msql-mysql.monitormon.d/mysql.monitor

vi/usr/lib/mon/mon.d/mysql.monitor添加如下:

for$host(@ARGV){

my($dbh)=DBI->connect("DBI:

mysql:

database=sso;host=localhost","root","sso",{'PrintError'=>1});

if(!

$dbh){

push(@failures,$host);

push(@details,"$host:

Couldnotconnectto$modeserveron$options{port}:

".$DBI:

:

errstr."\n");

next;

}

#vi/usr/lib/mon/alert.d/bring-ha-down.alert添加如下一行

/etc/rc.d/init.d/heartbeatstop

#chmod755/usr/lib/mon/alert.d/bring-ha-down.alert

#vi/etc/rc.d/rc.local#添加MON自启动

/usr/lib/mon/mon-f-c/usr/lib/mon/etc/mon.cf

需要检查文件权限

bring-ha-down.alert#chmod755

mysql.monitor#chmod755

authkeys#chmod600

都配置完成就重新启动一下服务器吧。

所有的配置都会自动执行的。

启动服务器顺序,先启动主服务器再启动从服务器。

通过tail/var/log/messages和tail/var/log/ha-log来查看是否运行正常,ps–ef也可以看到进程的状态,如果主节点MYSQL服务停止就会发送EMAIL到你的邮箱里面。

四、测试

1、测试heartbeat:

启动server113和dddl.137两台服务器的heartbeat,先启动主机再启动从机:

虚拟IP在主机有效,主机截图如下:

 

虚拟IP在从机无效,从机截图如下:

客户端截图(172.20.16.119为虚拟IP):

当把主机的服务停止后,红色圈部分就是主机服务停止时,虚拟IP迁移的瞬间停顿。

客户端的截图如下:

虚拟IP迁移后主机的截图如下:

虚拟IP迁移后从机的截图如下:

2、测试Mon:

在主机上启动Mon服务;启动heartbeat服务;在主机和从机上启动mysql服务。

在sso数据库上创建表test,并在主机的test表中插入数据。

主机截图如下:

客户端截图如下:

虚拟IP连接状态如下:

从机截图如下:

停止主机的heatbeat服务后,截图如下:

通过客户端向数据库中插入数据,发现数据库中三条数据被正常插入,截图如下:

此时查看从机数据库的数据,三条数据同样被插入,截图如下:

此时查看主机数据库的数据,一条数据,截图如下:

主机Mon服务停止后,发送Mail,截图如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1