mysql主从数据库配置 -- 学习篇二
2017-07-13 00:00
621 查看
在Windows 7 中如何配置MySQL 5.6的主从复制
工具/原料
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就不用再指定该项
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/c087ef9eca2b55865d219e3f282ea51d.jpg)
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 的密码
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/3aa6c1fa70e0b8545ab6dd8c5ae29956.jpg)
3
显示主服务器的状态信息,并且找到File 和 Position 的值记录下来;
mysql>show master status;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/e4bb34b097f98d5501c787654db199f3.jpg)
4
在从数据库中创建新的数据库rep_test。
然后编辑从数据库的my.ini文件
在[mysqld]节点中增加如下内容:
server-id=2 #指定唯一的ID,2至32,必须的,并且不能跟主数据库一样
replicate-do-db=rep_test #指定要同步的数据库,必须的
#replicate-ignore-db=mysql #指定不要同步的数据库,
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/a15e5b48ad857889609f9e36bb2db38b.jpg)
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;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/117d61b9655664cbfb4d0521b38f9ccc.jpg)
6
查看从数据库的信息
mysql>show slave status \G;
如果出现: Slave_IO_Running: YesSlave_SQL_Running: Yes以上两项都为Yes,那说明没问题了
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/36c6cf3751ae464fb2fa990f12caa882.jpg)
7
测试主从复制是否有效果
在主数据库中创建一个新的数据库,然后再切换到从数据库查看是否同样多出通名的数据库
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/9285f49884b2fb223085eb00f448a216.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/ce45a922eaaba889b24e1694f2b996cf.jpg)
END
配置旧数据库的主从复制
如果一开始数据库的架构不是主从复制,并且运行一段时间后已经有数据存在,那配置的方式略有不同。编辑主数据库的my.ini文件,加上一下内容:
binlog-do-db=landclash
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/be4f0be3c78260db16fee2d21cfc0ce5.jpg)
重启主数据库,然后在主数据库中锁定所有的表
mysql>flush tables with read lock;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/dee8df239bc587d0517d6e9ccbd4e368.jpg)
显示主服务器的状态信息,并且找到File 和 Position 的值记录下来;
mysql>show master status;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/c2a6f709c56ba52484b3d41df728c46f.jpg)
将主数据库data目录下需要做主从复制的数据库的同名目录拷贝到从数据库的data目录下
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/966b12f1c14b2e7082b99f64cb77eb11.jpg)
编辑从数据库的my.ini文件,加上一下内容:
replicate-do-db=landclash
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/b2fbe5b78da2b056683c067d3b1b452a.jpg)
重启从数据库,因为主数据库在重新配置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;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/38b8aca6bb47b45fbef17d17e5281a65.jpg)
再次输入查看从数据库状态的命令
mysql>show slave status \G;
我们看到红框标注的地方跟之前做新数据库主从复制不一样了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/ebaddb1ac572726a9744b33bdb2ca822.jpg)
步骤阅读
完成上述配置后,回到主数据库,将表解锁
mysql>unlock tables;
之后在主数据库的修改就能同步到从数据库上了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/e2d40da7f6cb728507bba105c110924c.jpg)
相关文章推荐
- mysql主从数据库配置 -- 学习篇一
- mysql主从数据库配置
- MySQL集群:主从数据库配置 实现查询负载
- mysql 主从数据库配置
- magento配置主从数据库,以及mysql 主从服务器配置详细
- mysql5.5.15配置主从数据库
- Mysql 5.5 replication 多数据库主从备份Master-Slave配置总结
- MySQL集群:主从数据库配置 实现查询负载
- 引用 MySQL集群:主从数据库配置 实现查询负载
- Mysql 5.5 replication 多数据库主从备份Master-Slave配置总结
- mysql集群:主从数据库配置 实现查询负载
- MYSQL 主从数据库的配置 ubuntu 12.04
- Spring+Hibernate框架下MySql读写分离,主从数据库配置
- win2003系统下学习Mysql主从复制安装配置
- MySQL主从数据库配置实战
- 引用 MySQL集群:主从数据库配置 实现查询负载
- MySQL集群:主从数据库配置 实现查询负载
- MySQL 服务器主从同步架构安装配置学习记录
- 单机版的Mysql主从数据库配置
- MYSQL主从数据库同步备份配置