Windows server 2012 R2 Mysql主从复制

一、目标

搭建两台Mysql服务器,一台作为主服务器,主服务器进行Mysql写操作,另一台作为从服务器,从服务器进行

Mysql读操作。

二、环境

主数据库:Windows server 2012 R2,Mysql-5.1.6,Sqlyog-12.1.2,IP:192.168.1.165

主数据库:Windows server 2012 R2,Mysql-5.1.6,Sqlyog-12.1.2,IP:192.168.1.166

三、配置步骤

(1.)主数据库中已有一个名为rep的库,将此库作为进行主从复制的目标库,在从数据库中同样新建一个同rep库完全

相同的数据库,更简洁的方法是通过Sqlyog将主数据库中的rep库全部导出,然后通过导出文件将rep库导入从服

务器。

最终结果如图:

主服务器


从服务器


(2)在主数据库中创建一个专门用来进行主从复制的账户repl

1.从数据库会使用一个Mysql账号来连接主数据库,所以要在主数据库里创建一个账号,并且该账号要被授予

REPLICATION SLAVE权限。

2.在主数据库中创建一个账号,账号名:repl,密码:root123,只允许192.168.1号段的地址登录:

(关闭系统防火墙)

1)mysql>create user 'repl'@'192.168.1.% ' identified by 'root123';

2)mysql>grant replication slave on *.* to 'repl'@'192.168.1.%';

(3).配置主数据库

1)主数据库必须要启用二进制日志(binary logging),并且创建一个唯一的server id,主服务器发送变更记录到

从服务器依赖的是二进制日志,如果没有启用二进制日志,主库到从库的复制操作将不能实现。

2)复制组中的每台服务器都要配置唯一的Server ID

打开主服务器Mysql安装目录下的my.ini文件


在图示位置添加以下内容


binlog-do-db为要进行复制的数据库,binlog-ignore-db为要忽略的数据库

添加完成后重启数据库


查看主数据库状态


(注意:记录好File和Position,后面要用)


(4)配置从数据库

1)打开Mysql安装目录下的my.ini文件进行编辑

添加内容


修改后重启从数据库

2)配置从数据库连接主数据库的信息

1.mysql>stop slave;

2.mysql>change master to master_host='192.168.1.165',master_user='repl',master_password='root123',master_

log_file='mysql-bin.000001',master_log_pos='580';

3mysql>start slave;

3)查看从服务器状态


(5)测试数据同步

连接主服务器数据库192.168.1.165,添加一张新表,名为grades,创建完成后从新连接至从服务器数据库,会发现同样多

了一张grades表。



然后向主数据库的grades表中插入一条数据,插入以后,从数据库中的grades表也同样新增了一条数据。

至此,主从的配置就完成了,目前是在从库里面配置复制rep这个 库,如果要添加其他库,可以在主服务

器中添加binlog-do-db的配置或者在从库中添加replicate-do-db的配置。