设为首页 - 加入收藏 - 网站地图 SecYe安全 Www.SecYe.Com - 国内网络信息安全IT技术门户网
当前位置:SecYe > 服务器 > linux服务器 > 正文

Postfix-2.11+Dovecot-2.0.9+MySQL+Cyrus-sasl+Extmail-1.2实现

时间:2014-04-29 12:02 来源:未知 作者:www.secye.com 阅读:

----本文大纲

简介

资源配置

拓扑图

实现过程

 

 

====================

一、简介

MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器)关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能对居于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。MySQL本身没有提供replication failover的解决方案,通过MMM方案能实现服务器的故障转移,从而实现mysql的高可用。MMM不仅能提供浮动IP的功能,更可贵的是如果当前的主服务器挂掉后,会将你后端的从服务器自动转向新的主服务器进行同步复制,不用手工更改同步配置。这个方案是目前比较成熟的解决方案。

方案优缺点

优点:安全性、稳定性高,可扩展性好,高可用,当主服务器挂掉以后,另一个主立即接管,其他的从服务器能自动切换,不用人工干预。

缺点:至少三个节点,对主机的数量有要求,需要实现读写分离,对程序来说是个挑战。

二、资源配置

主机属性

 

系统名字角色主机名ip地址关系

Centos6.5x86_64DB1

Masteressun.mariadb1.com192.168.1.109与DB2互为主从

Centos6.5x86_64DB2Masteressun.mariadb2.com192.168.1.112

与DB1互为主从

Centos6.5x86_64DB3Slaveessun.mariadb3.com192.168.1.113

DB1的从库

Centos6.5x86_64MonitorMonitoressun.monitor.com192.168.1.116

监控所有主机

 

 

虚拟ip(VIP)

DB1 192.168.1.109 `192.168.1.24

DB2 192.168.1.112 192.168.1.24,192.168.1.22

DB3 192.168.1.113 192.168.1.23

三、拓扑图

#FormatImgID_0#

四、实现过程

1、配置DB1

修改配置文件/etc/my.cnf,添加如下语句

server-id=1

log_bin=/mariadb/data/mysql-bin

binlog_format=row

log-slave-updates

sync_binlog=1

auto_increment_increment=2

auto_increment_offset=1

授权用户

 

MariaDB [(none)]> grant replication slave,replication client on *.* to \'repluser\'@\'192.168.1.112\' identified by \'replpass\';

Query OK, 0 rows affected (0.12 sec)

MariaDB [(none)]> grant replication slave,replication client on *.* to \'repluser\'@\'192.168.1.113\' identified by \'replpass\';

Query OK, 0 rows affected (0.00 sec)

查看binlog日志标记

MariaDB [(none)]> show master status;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000003 | 756 | | |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

2、配置DB2

 

修改配置文件/etc/my.cnf,添加如下语句

log-bin=mysql-bin

binlog_format=ROW

log-slave-updates

sync_binlog=1

auto_increment_increment=2

auto_increment_offset=2

server-id=2

授权用户

 

MariaDB [(none)]> grant replication slave,replication client on *.* to \'repluser\'@\'192.168.1.109\' identified by \'replpass\';

Query OK, 0 rows affected (0.15 sec)

查看binlog日志标记

 

MariaDB [(none)]> show master status;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000007 | 548 | | |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

连接DB1

MariaDB [(none)]> change master to master_host=\'192.168.1.109\',master_user=\'repluser\',master_password=\'replpass\',master_log_file=\'mysql-bin.000003\',master_log_pos=756;

Query OK, 0 rows affected (0.06 sec)

MariaDB [(none)]> start slave;

Query OK, 0 rows affected (0.06 sec)

MariaDB [(none)]> show slave statusG

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.1.109

Master_User: repluser

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000003

Read_Master_Log_Pos: 756

Relay_Log_File: essun-relay-bin.000002

Relay_Log_Pos: 535

Relay_Master_Log_File: mysql-bin.000003

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 756

Relay_Log_Space: 832

Until_Condition: None

Until_Log_File:

本文来源:SecYe安全网[http://www.secye.com] (责任编辑:SecYe安全)

点击复制链接 与好友分享!

顶一下
(0)
0%
踩一下
(0)
0%