您的位置:首页 > 数据库 > MySQL

配置MySQL 5.6的主从复制

2016-08-25 14:39 489 查看

工具/原料

Windows 7 64位

MySQL 5.6

配置新数据库的主从复制

1

先在主数据库中创建新数据库rep_test。

然后编辑主数据库的my.ini文件

在[mysqld]节点中增加如下内容:

server-id=1 #指定唯一的ID,1至32,必须的

log-bin=mysql-log-bin #指定二进制日志存放路径,必须的

binlog-do-db=rep_test #指定要同步的数据库,必须的

#binlog-ignore-db=mysql #指定不要同步的数据库,如果指定了binlog-do-db就不用再指定该项





2

重启主数据库,然后在主数据库中建立一个备份账户

mysql>grant replication slave on *.* to slave@192.168.1.128 identified by 'slave' ;

mysql>flush privileges;

PS:identified by 指定的slave是账号slave@192.168.1.128 的密码





3

显示主服务器的状态信息,并且找到File 和 Position 的值记录下来;

mysql>show master status;





4

在从数据库中创建新的数据库rep_test。

然后编辑从数据库的my.ini文件

在[mysqld]节点中增加如下内容:

server-id=2 #指定唯一的ID,2至32,必须的,并且不能跟主数据库一样

replicate-do-db=rep_test #指定要同步的数据库,必须的

#replicate-ignore-db=mysql #指定不要同步的数据库,





5

重启从数据库,设置登录主数据库的账号和密码等信息,然后启动slave

mysql>change master to master_host='192.168.1.2',master_user='slave',master_password='slave', master_log_file='mysql-bin.000002',master_log_pos=120;

mysql>start slave;





6

查看从数据库的信息

mysql>show slave status \G;

如果出现: Slave_IO_Running: YesSlave_SQL_Running: Yes以上两项都为Yes,那说明没问题了





7

测试主从复制是否有效果

在主数据库中创建一个新的数据库,然后再切换到从数据库查看是否同样多出通名的数据库








END

配置旧数据库的主从复制

如果一开始数据库的架构不是主从复制,并且运行一段时间后已经有数据存在,那配置的方式略有不同。

编辑主数据库的my.ini文件,加上一下内容:

binlog-do-db=landclash





重启主数据库,然后在主数据库中锁定所有的表

mysql>flush tables with read lock;





显示主服务器的状态信息,并且找到File 和 Position 的值记录下来;

mysql>show master status;





将主数据库data目录下需要做主从复制的数据库的同名目录拷贝到从数据库的data目录下





编辑从数据库的my.ini文件,加上一下内容:

replicate-do-db=landclash





重启从数据库,因为主数据库在重新配置my.ini后,日志文件变成新的文件,所以需要再次设置登录主数据库的账号和密码等信息

mysql>stop slave;

mysql>change master to master_host='192.168.1.2',master_user='slave',master_password='slave', master_log_file='mysql-bin.000003',master_log_pos=120;

mysql>start slave;





再次输入查看从数据库状态的命令

mysql>show slave status \G;

我们看到红框标注的地方跟之前做新数据库主从复制不一样了。





完成上述配置后,回到主数据库,将表解锁

mysql>unlock tables;

之后在主数据库的修改就能同步到从数据库上了。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: