预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

MYSQL主从复制高可用方案 概要说明 利用heartbeat实现高可用,利用MySQL主从实现数据自动同步。 网络拓扑图 实验环境说明 双机热备提供备份,冗余功能 安装环境: NODE1主机名masterIP地址192.168.10.10 NODE2主机名slaveIP地址192.168.10.11 VIAIP(漂移IP)192.168.10.100 NODE1为主节点,NODE2为从节点,同步的数据库名test MySQL安装 使用yum安装: rpm-qa|grepmysql yuminstall-ymysql* MySQL主从配置 5.1.主数据库服务器的配置 (1)修改MySQL的配置文件(/etc/my.cnf)在配置文件中设置: server-id=1###每一个数据库服务器都要制定一个唯一的server-id,通常主服务器制定为1。 log-bin=MySQL-bin###MySQL进行主从复制是通过二进制的日志文件来进行的,所以必须开启MySQL的日志功能(这个是/etc/my.cnf的默认配置,保持不变即可) (2)GRANTREPLICATIONSLAVEON*.*TO'replication'@'192.168.100.11'IDENTIFIEDBY'123456';####给主数据库服务器授予一个可以进行复制的用户,192.168.10.11为从服务器的IP,这样从服务器就能有钱先来访问主数据库服务器 5.2.从数据库服务器的设置 修改数据库配置文件/etc/my.cnf,配置如下内容: #server-id=1 ###必须把server-id=1注释掉, server-id=2 ###设置从的ID号 master-host=192.168.100.10###设置主服务器的IP master-user=replication###设置连接主服务器的用户名 master-password =123456###设置连接主服务器的密码 replicate-do-db=test###设置你要同步的数据库,可以设置多个 master-port=<port>###配置成你设置的端口就OK了! 5.3分别重新启动主从服务器 如果不重新启动主服务器在后面查看status的时候会出现问题! 5.4在从服务器上登录MySQL, 输入:showslavestatus\G如果发现有: Slave_IO_Running:Yes Slave_SQL_Running:Yes 就说明已经成功了,如果这两个选项不全是Yes,那就说明你前面的某个配置错了,我做的时候没有把主服务器重启,就出现Slave_IO_Running:NO。重启后好了! HEARTBEAT安装 安装环境配置: 分别编辑两个节点服务器的HOSTNAME vim/etc/sysconfig/network HOSTNAME=ha01(或者HOSTNAME=ha02) vim/etc/hosts 192.168.10.10 ha01 192.168.10.11 ha02 6.2软件包安装 需要以下软件包: heartbeat-2.1.3 heartbeat-pils-2.1.3 heartbeat-stonith-2.1.3 直接使用yum-yinstallheartbeat来进行安装。 7.配置heartbeat 7.1.配置每个节点上heartbeat 需要编辑/etc/ha.d/目录里的三个文件authkeys、ha.cf、haresources。 7.2.创建以上提到的三个文件: cp/usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/ cp/usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/ cp/usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/ 7.3.配置 7.3.1配置文件说明 7.3.1.1配置ha.cf文件 ha.cf是heartbeat的主要配置文件,可以对heartbeat的多数性能和状态进行配置。大部分选项的取值可以采用默认值,其中的主要选项及配置方法说明如下: debugfile/var/log/ha-debug:该文件保存heartbeat的调试信息 logfile/var/log/ha-log: heartbeat的日志文件 keepalive2: 心跳的时间间隔,默认时间单位为秒 deadtime30: 超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡。 warntime10: 超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。 initdead120: