MySQL之Master-Master配置

近期测试MySQL双Maser多Slave架构,利用KeepAlived实现自动切换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-passward=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=2

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文件,并都设置对方为自己的主服务器,配置同步的数据库为phpcmsv9



三、配置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.185执行:

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.178上将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。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值