Windows下搭建MySql Master-Master Replication
2016-03-10 00:11
423 查看
Windows下搭建MySql Master-Master Replication
1.首先下载最新版的MySql Server (http://dev.mysql.com/downloads/windows/installer/)2.安装MySql Server到两台机器上
MySql 1: 192.168.0.104 (以下简称104)
MySql 2: 192.168.0.103 (以下简称103)
3. 配置Mysql Server启动Binary Logging.
在104的my.ini文件(一般在C:\ProgramData\MySql\MySql Server 5.6\my.ini)中添加如下配置信息
[mysqld]
log-bin=mysql-bin
server-id=1
103的my.ini文件中添加如下配置信息
[mysqld]
log-bin=mysql-bin
server-id=2
4.重启MySql
5.为Replication创建User,并赋予权限
mysql> CREATE USER 'repl' @'%' identified by 'repl';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
6. 查看两台Mysql Server当前bin log的位置(因为我们只需要同步两个server从当前状态之后的操作)
6.1 分别在两台机器上执行如下命令:
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
103会得到如下结果:
104会得到如下结果:
图中File表示当前的binary log文件名,Position是表示Binary log文件的当前位置,呆会replication应该是从这个位置开始。
7. 释放Lock
在两台机器上执行如下命令:Unlock Tables.让两台MySql可以正常进行数据库操作
8,设置Slave Replication.
8.1 启动104上的slave replication.
8.1.1 执行 Stop Slave
8.1.2 执行如下命令:
CHANGE MASTER TO MASTER_HOST='192.168.0.103', MASTER_USER='repl', MASTER_PASSWORD='repl',MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=411;
8.1.3 执行Start Slave
8.1.4 查看slave的状态,执行Show Slave Status\G;
8.2 启动103上的slave replication.
8.2.1 执行 Stop Slave
8.2.2 执行如下命令:
CHANGE MASTER TO MASTER_HOST='192.168.0.104', MASTER_USER='repl', MASTER_PASSWORD='repl',MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=411;
8.2.3 执行Start Slave
8.2.4 查看slave的状态,执行Show Slave Status\G;
9.测试replication效果
9.1 在104上执行:
mysql> create database repltest;
mysql> use repltest;
mysql> create table person(id int,name varchar(255));
mysql> insert into person values(1,’jensen’);
9.2在103上执行:
mysql> use repltest;
mysql> select * from person; 验证在104上插入的记录已经同步现103上
9.3 在103上插入记录
mysql> insert into person values(2,’jensen’);
9.4 在104上验证结果
mysql> select * from person;
10. 对于自增ID列,两台Server同步时会因为值一样而造成冲突。解决方案:利用mysql的auto_increment_increment和auto_increment_offset来限定每台server生成的ID限定在一定范围内(如:104生成奇数ID,103生成偶数ID)
相关文章推荐
- Mysql中 show table status 获取表信息的方法
- Mysql性能优化案例研究-覆盖索引和SQL_NO_CACHE
- Mysql性能优化案例 - 覆盖索引分享
- 简单解决Windows中MySQL的中文乱码与服务启动问题
- MySQL安装笔记
- Navicat for MySQL 11注册码获取方法介绍
- mysql数据库latin1转utf8
- MYSQL的常用命令和增删改查语句和数据类型
- [MySQL]关于amd.dll后门病毒入侵3306端口的临时解决方案
- MYSQL 字符集问题
- servlet连接mysql
- MySQL性能优化的最佳经验
- dlang操作mysql
- mysql学习(2):mysql配置,启动常见错误
- mysql设置连接等待时间(wait_timeout)
- mysql读写分离-主从同步
- MySQL索引详解-02
- mysql分区
- MySQL索引操作命令详解
- MySQL学习笔记4(索引)