MySQL之Master-Master配置

MySQL之Master-Master配置 2013-01-08 14:11:57 
分类: Mysql/postgreSQL
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0 
近期在测试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




原文:
http://blog.chinaunix.net/uid-25266990-id-3465550.html


相关文章
MySQL双Master配置的方法详解
http://www.jb51.net/article/38657.htm

你可能感兴趣的:(高可用,Mysql)