监控安装 ERP

系统集成论坛

 找回密码
 注册通行证

QQ登录

只需一步,快速开始

路由器交换机防火墙系统集成商城 优质产品采购平台
查看: 1375|回复: 1
打印 上一主题 下一主题

MySQL双机热备之Master-Master配置

[复制链接]
跳转到指定楼层
1
发表于 2013-1-11 10:34:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
华为金牌代理
近期在测试MySQL双主多个slave架构,利用keepavlied实现自动切换Master。主要工作有:

1、MySQL Mater-Maste工作(前期)

2、Keepavlied搭建,还可以结合MySQL Proxy实现读写分离


3、处理Master-Mater-Slave之间的同步关系


首先,先搭建Mater-Master的环境。


一、安装环境:

系统版本:RHEL5.4.x86_64

MySQL版本:mysql-5.0.45

Mysqlserver_1: 192.168.15.178

Mysqlserver_2: 192.168.15.185




二、正式安装:

在两台服务器中分别安装Mysql(略过)。

配置MySQL配置文件:

1)192.168.15.178的配置文件,如下红色标注是必须配置的,其他参数可以自行配置。


[mysqld]


server-id=1


auto_increment_offset=1


auto_increment_increment=2


log-bin=mysql-bin


log-error=/mysqldata/mysqld.log


pid-file=/mysqldata/mysqld.pid


master-host=192.168.15.185


master-user=backup


master-password=123456


master-port=3306


replicate-do-db=phpcmsv9


replicate-ignore-db=mysql


master-connect-retry=60


2)192.168.15.185的配置文件,如下红色标注是必须配置的,其他参数可以自行配置。


[mysqld]


server-id=2


auto_increment_offset=1


auto_increment_increment=2


log-bin=mysql-bin


log-error=/mysqldata/mysqld.log


pid-file=/mysqldata/mysqld.pid


master-host=192.168.15.178


master-user=backup


master-password=123456


master-port=3306


replicate-do-db=phpcmsv9


replicate-ignore-db=mysql


master-connect-retry=60


如上设置bin-log文件,并都设置对方为自己的主服务器,配置同步的数据库为map




三、配置MySQL:

导入要同步的数据库,先以一台作为主服务器,同步数据。我以phpcmsv9为例。

1)   在两台mysql数据库服务器里面设置权限,分别执行如下命令:

grant  replication  slave  on *.* to  'backup'@'192.168.15.%'  identified by  '123456';

在192.168.15.178查看master运行状态,获取binlog日志信息:

mysql> show master status;   

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

| File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB |

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

| mysql-bin.000052 | 151744220 |              |                  |

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

1 row in set (0.00 sec)

2)在192.168.15.185上将192.168.15.178设为自己的主服务器执行如下命令:

change master to master_host='192.168.15.178',master_user='backup',master_password='123456',master_log_file='mysql-bin.000056',master_log_pos=151744220;   

然后启动start slave;

注意这里写的bin-log参数是在178查看到的,即是对方的参数。

3)   然后在192.168.15.78执行:

mysql> show master status;

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

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

| mysql-bin.000005 |       98 |              |                  |

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

1 row in set (0.00 sec)

4)在192.168.15.78上将192.168.15.185设为自己的主服务器执行如下命令:

change master to master_host='192.168.15.185',master_user='backup',master_password='123456',master_log_file='mysql-bin.000005',master_log_pos=98;   

然后启动start slave;

注意这里写的bin-log参数是在185查看到的,即是对方的参数。

5)MySQL同步测试配置完毕,我们会发现在任何一台mysql上更新同步的数据库里面的数据,都会同步到另一台mysql。

6)测试:

192.168.15.185建表:

mysql> create table UserState(UserStateId int auto_increment not null primary key, UseStateName varchar(50) not null);

Query OK, 0 rows affected (0.01 sec)


mysql> desc  UserState;

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

| Field        | Type        | Null | Key | Default | Extra          |

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

| UserStateId  | int(11)     | NO   | PRI | NULL    | auto_increment |

| UseStateName | varchar(50) | NO   |     |         |                |

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

2 rows in set (0.02 sec)

192.168.15.178查表:

mysql> desc UserState;

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

| Field        | Type        | Null | Key | Default | Extra          |

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

| UserStateId  | int(11)     | NO   | PRI | NULL    | auto_increment |

| UseStateName | varchar(50) | NO   |     |         |                |

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

2 rows in set (0.00 sec)

ok
2
发表于 2013-1-11 11:30:44 | 只看该作者
华为金牌代理
学习了,版主很辛苦啊  呵呵
IBM服务器www.njibmfwq.com
您需要登录后才可以回帖 登录 | 注册通行证

本版积分规则

联系我们| 手机版|系统集成论坛 ( 京ICP备11008917号 )

GMT+8, 2024-11-26 14:38 , Processed in 0.075354 second(s), 24 queries .

系统集成论坛

BBS.XTJC.COM

快速回复 返回顶部 返回列表