MySQL主从复制实战

个人博客:https://suveng.github.io/blog/​​​​​​​

MySQL读写分离

这里写图片描述

分布式集群带来高并发,高容量的特性,但是数据一致性就成了问题

主要解决两个问题

1. 应用层控制数据源
2. 数据源之间的数据同步

多数据源

  1. 先停止mysql服务

  2. 把MySQL server整个目录拷过来,放到其他目录,修改my.ini

  3. 去到复制的那个目录的bin下,执行mysql初始化, mysqld -initialize -insecure -user=mysql

  4. 安装服务,mysqld -install mysql3307

注意:服务的路径应该是复制的那个目录的mysqld,如果不是,可能my.ini配置问题

主从复制实践windows:

假设你什么都没装,那么先从mysql官网下载maysql server 7.7.22

我现在的时间是2018.5.30.请记住版本

安装好mysql,作为主库

如下图所示.但是数据库data文件不是在这里,

这里写图片描述

数据库的存储文件在如下图所示的路径,是隐藏文件夹下的.

这里写图片描述

这些可以从my.ini看到的配置

这里写图片描述

修改主库配置文件my.ini

1527674082010

主要修改log-bin这里是主库的log文件的位置.当产生主从复制,其文件就会存储在这个位置,记得如果是多文件夹的话,对应的位置必须要有这个文件夹.否则报错

binlog-do-db=project-manager这里配置的是需要主从复制的数据库,这个也是我的其中一个数据库.如下图所示.

1527674554671

当然也可以配置多个,也可以配置不需要主从的数据库,但是我懒,一般也是这样子配置的,所以不做多余的说明,如果想深入了解.请看这篇https://segmentfault.com/a/1190000009922696

到这里主库配置完毕!

复制主库,作为从库

1527673905643

把上面的文件夹复制到从库的位置,我这里选择d盘

1527673957217

如上图我复制了两个,可以看到我用端口命名.

1527674292658

接下来就是修改从库的配置.可以看到3307下面并没有my.ini配置文件,那么就需要自己创建或者去主库那里复制过来.我选择复制过来.需要修改从库的port,basedir,datadir

从英文可以知道他们代表意思,端口,基本路径,数据路径.

1527674328301

修改完毕后,就需要配置从库,记住server_id不能和主库的server_id重复

1527674449983

这里最重要的是replicate-do-db=project-manager.

那么到这里从库配置完毕

接下来开始初始化从库

用管理员打开cmd,进入从库目录的bin目录下,敲这个指令

mysqld -initialize -insecure -user=mysql

这里会生成一些文件到datadir下面的路径,如下图所示

1527674925337

圈出来的是生成的,其余那些是后面生成的,还没完成.

还需要吧主库的一些文件给拷过来.把下图的那些文件夹和文件都考过去把,这些文件夹都是一些数据库,每个人的数据库都不一样,只要把文件夹都复制过去就好了,肯定会提示要覆盖ibdata1文件的,直接覆盖就好.不然下面会报错

1527674992262

接下来敲这个安装mysql3307服务项

mysqld -install mysql3307

安装成功后,启动两个数据库服务.

可以用cmd(管理员),打如下指令

net start mysql57这里的mysql57是我主库的服务项

net start mysql3307

启动成功后

到这里从库配置王弼

配置主从库通信

这里就是最后的部分了

用Navicat打开主库,新建查询,执行 show master status

1527675308634

得到如下的信息,记住file 和position字段

1527675370899

打开从库,配置主库的信息,打开从库后,新建查询,执行下面命令

change master to master_host='127.0.0.1',master_port=3306,master_user='root',master_password='root',master_log_file='master-bin.000003',master_log_pos=154;

执行成功后,是执行成功后

再执行 start SLAVE

再执行 show slave status查看从库状态

1527675595556

如上图所示,哪两个字段的状态必须是yes,否则不成功,看到第一个字段,Waiting for master to send event,则表示成功

最后验证主从复制

1527675694291

打开其中一个表插入一条数据

1527675732771

提交后从库下面的表也会有插入,保持数据一致性.到这里主从复制完成了.

1527675793017

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
项目描述:建立购物小商城平台. 实现了前台页面系统。 技术描述:通过Spring 主框架来管理Struts2和Hibernate 框架搭建的电商小平台,用MySQL数据库并创建了表有用户表,订单表,商品表,商品分类表,商品内容表,购物车表等来存储数据。用到hibernate….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值