详解windows下mysql的主从同步

半路出家到Java,刚开始听说到说程序支持读写分离感觉特别高大上,也一直没接触

偶然的机会接触到了,就一定得记下来。

今天先讲讲数据库的主从同步,两个好处:

  • 是读写分离可以用上。比如 写操作就写到主数据库,读就从从数据库读取
  • 是纯粹给数据库备份,以防硬盘彻底崩了

主从数据库操作准备:

两台电脑,都安装好mysql 5.5及以上版本,最好两台电脑都安装同一版本数据库,且能单独正常使用

记住两台电脑的ip地址:

以我家里电脑为例: 主数据库:192.168.0.102   从数据库:192.168.0.104

【主数据库下操作】

步骤一:

在主数据库mysql安装目录下找到my.ini文件打开,在mysqld下添加主服务器配置

server-id=1 #服务器 id
log-bin=C:\Program Files\MySQL\MySQL Server 5.5\mysql-bin #二进制文件存放路径
binlog-do-db=test1 #待同步的数据库

保存并重启mysql服务后你可以在C:\Program Files\MySQL\MySQL Server 5.5 下看到mysql-bin.index 文件和mysql-bin.000001文件

输入用户名和密码:mysql -u用户名 -p密码 (    mysql -uroot -proot   )

步骤二,

给要连接的从服务器设置权限:grant replication slave,reload,super on *.* to slave@192.168.0.104 identified by 'root';

ps: 给主机192.168.0.104添加权限,用户名:slave,密码:root;(只需输入一次就可以了)

步骤三,

输入命令 show master status;       # 找到File 和 Position 的值记录下来;

【从数据库上操作】

步骤四:

在mysql下找到my.ini文件,在其[mysqld] 下添加从服务器端配置:

server-id=2 #服务器 id ,不能和主服务器一致
replicate-do-db=test1 #待同步的数据库

保存并重启mysql服务

步骤五:

从服务器上测试:mysql -u slave -p root -h 192.168.0.102,查看能否连接主数据库成功,

然后输入exi退出mysql命令行或者关闭该cmd窗口新开一个cmd

步骤六:

修改对主数据库的连接的参数:mysql>change master to master_host='192.168.0.104',master_user='slave',master_password='root', master_log_file='mysql-bin.000001',master_log_pos=107;(这里输入的mysql-bin.000001和107请替换为步骤三中查询出来的值 否则不会同步的)

ps:可能会报一个错误,大概的意思是说slave线程正在运行,不能设置,这样的话,执行mysql>stop slave; 停止slave线程,然后再设置连接的参数;

步骤七:

设置完之后,执行 mysql> start slave; 开启slave线程;执行mysql> show slave status\G   (没有分号),查看

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

这是详细的步骤,如果不成功 请联系我帮你解决,按照这个步骤 只要两个电脑网络互通,应该不会有问题的

不过需要注意的是:

如果对从数据库进行修改,是不会同步对主数据库进行修改的,这样就应该用主-主同步了,方法类似,

所以insert,delete update 都应该是对主数据库的操作, 而select操作则对从表进行操作

具体程序中怎么实现读写分离,后续我将以具体demo形式呈现出来

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • windows环境下mysql数据库的主从同步备份步骤(单向同步)

    windows下mysql双向同步备份实现方法以下的文章主要讲述的是在windows环境下实现MySQL数据库的主从同步备份的正确操作方案,我在一些相关的网站看见关于windows环境下实现MySQL数据库的主从同步备份的操作步骤描述,但是很少有对其成功操作到底的,所以拿出此篇较为完整的方案与大家一起分享. 以下配置在本机上已经成功: 实现功能:A为主服务器,B为从服务器,初始状态时,A和B中的数据信息相同,当A中的数据发生变化时,B也跟着发生相应的变化,使得A和B的数据信息同步,达到备份的目的

  • 详解windows下mysql的主从同步

    半路出家到Java,刚开始听说到说程序支持读写分离感觉特别高大上,也一直没接触 偶然的机会接触到了,就一定得记下来. 今天先讲讲数据库的主从同步,两个好处: 是读写分离可以用上.比如 写操作就写到主数据库,读就从从数据库读取 是纯粹给数据库备份,以防硬盘彻底崩了 主从数据库操作准备: 两台电脑,都安装好mysql 5.5及以上版本,最好两台电脑都安装同一版本数据库,且能单独正常使用 记住两台电脑的ip地址: 以我家里电脑为例: 主数据库:192.168.0.102   从数据库:192.168.

  • 详解Windows下PyCharm安装Numpy包及无法安装问题解决方案

    一.什么是NumPy Numpy--Numerical Python,是一个基于Python的可以存储和处理大型矩阵的库.几乎是Python 生态系统的数值计算的基石,例如Scipy,Pandas,Scikit-learn,Keras等都基于Numpy.使用Numpy, 可以进行: 1.数组和逻辑运算 2.傅里叶变换和图形操作实例 3.线性代数相关的运算操作 功能很强大有木有??? 但是 Python 官网上的发行版是不包含 NumPy 模块的.所以就需要我们自己来安装这个库. 很多人在学习Py

  • 详解windows下C/C++的内存泄露检测

    检测内存泄露 利用Visual Studio调试器和CRT库提供的检测(malloc和new均适用) 程序只从单一位置退出时: 1.需要以下头文件: #define _CRTDBG_MAP_ALLOC #include<stdlib.h> #include<crtdbg.h> 通过包含crtdbg.h,将malloc和free分别映射到_malloc_dbg和_free_dbg,用于内存分配和释放的跟踪. #define _CRTDBG_MAP_ALLOC语句用于提供额外的信息,非

  • 图文详解Windows下使用Redis缓存工具的方法

    一.简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合). 这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记

  • windows下mysql数据库主从配置教程

    windows下配置mysql数据库主从的详细过程,具体内容如下 所用到工具: Mysql.Navicat Premium: 主库设置: 一.设置my.ini 文件: 1.在安装目录下找到my.ini 文件: 默认路径:C:\Program Files\MySQL\MySQL Server 5.0 2.在my.ini 文件中找到[mysqld](#注释自行删除) 添加如下配置 server-id=1#主库和从库需要不一致 log-bin=mysql-bin binlog-do-db=mstest

  • 详解Windows下运用Docker部署Node.js开发环境

    开始 在windows下部署nodejs开发环境着实遍地坑,每遇到一个问题都要去google原因再试图解决.而且如果你想把你写好的应用交给别人跑跑看,他可能同样需要折腾很久才能真正在他的环境下运行起来.被坑了好些时日最终还是放弃,转战Docker. 文章开头先明确一下我们希望实现的效果: 1.依然在Windows下编辑源代码,在Docker容器中运行代码,最后在Windows的浏览器中看到运行结果,方便后续debug. 2.可以将我开发完成的程序和运行环境一起打包制作成Docker的image,

  • 详解Windows下安装Nodejs步骤

    最近打算把我们的微信端用Vue.js重构,为什么选择Vue.js,一是之前使用的是传统的asp.net mvc,多页面应用用户体验比单页面要差.二是使用过Angular.js,感觉对开发人员要求较高,上手难度较大,而Vue.js在这方面有优势 .这里记录下Vue.js开发环境 Nodejs在Windows下的安装和配置. 第一步:下载 https://nodejs.org/en/ 笔者目前使用V6.10版本(node的偶数版本是稳定版本(长期支持版),奇数版本可以是开发版本,主要用于集成新功能,

  • 详解windows下vue-cli及webpack 构建网站(三)使用组件

    1.本文章是建立在<windows下vue-cli及webpack 构建网站(一)环境安装>和<windows下vue-cli及webpack 构建网站(一)导入bootstrap样式>两篇文章之上的. 2.在src\components文件夹下面新建两个组件,分别为 header.vue.footer.vue,打开header.vue文件粘贴下面的代码作为网站的头部. <template> <!-- Fixed navbar --> <nav cla

  • 详解windows下vue-cli及webpack 构建网站(四) 路由vue-router的使用

    windows下vue-cli及webpack 构建网站(一)环境安装 windows下vue-cli及webpack 构建网站(二)导入bootstrap样式 windows下vue-cli及webpack 构建网站(三)使用组件 1.本篇文章是建立在以上三篇文章的基础上的. 2.安装 vue-router 插件,运行cmd进入到项目目录下面,运行以下命令: cnpm install vue-router --save-dev 3.在src文件夹下面新建一个文件夹page用于存放模板文件,然后

  • 详解Windows下调整Tomcat启动参数的实现方法

    Windows下调整Tomcat启动参数  Tomcat默认可以使用的内存为128MB,对于访问数比较多.比较吃内存的应用来说,这是不够的.我们可以通过调整Java虚拟机的启动参数来增加Tomcat可使用的内存. 下面就是众所周知的两个参数 -Xms<size> JVM初始化堆的大小 -Xmx<size> JVM堆的最大值 比如,我想设置初始内存大小为128M,最多占用1G,就是下面的设置: -Xms128m -Xmx1024m 在Linux/Unix下,可以通过在 {tomcat

随机推荐