MySQL之Master-Master配置
来源:互联网 发布:大数据产业创新峰会 编辑:程序博客网 时间:2024/06/10 00:49
近期在测试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
- MySQL之Master-Master配置
- MySQL之Master-Master配置
- MySQL之Master-Master配置
- MySQL之Master-Master配置
- mysql master slave 配置
- MySQL配置Master-Slave
- Mysql双master配置
- MySQL双master配置
- MySQL双Master配置
- MYSQL 双master配置
- mysql master slave 配置
- mysql双master配置
- mysql master slave 配置
- mysql master-master备份配置文档
- Master-Master MySQL 复制安装配置试验
- Mysql-Master与Slave配置
- Mysql Master/Slave的配置
- MySQL Master Slave Replication配置
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
- mybatis解析日期时遭遇旧版本mysql日期默认值的问题
- Lua继承(Lua学习一)
- Git基础
- jquery中对CheckBox的操作
- MySQL之Master-Master配置
- 封装jQuery Validate扩展验证方法
- GIT分布式版本控制系统
- Android开发之WebView详解
- quartz简单配置
- 学习hadoop总结(1)
- cocos KeyBoard
- linux删除满足条件的文件
- CF 333E Summer Earnings