专栏首页强仔仔window系统下面实现mysql主从数据库同步

window系统下面实现mysql主从数据库同步

今天给大家介绍一下window系统下mysql如何实现主从同步操作,首先得需要安装两台mysql服务器,我在这里浪费了相当多的时间

因为刚开始我想着是在window系统下面安装两个版本不同的mysql数据库,然后改端口就可以实现了。可是一直只能启动一个mysql服务,另一个一直启动不了,所以到最后就不了了之了。

后来想着在阿里云上面新建一个mysql服务器,本地新建一个服务器,然后通过这两个进行主从同步操作,可是也遇到很多问题。本地访问阿里云上面是可以的,阿里云上面访问本地就不行。因为外网想要访问本地局域网需要一些工具才可以,这些工具很多都是收费的,所以最后没有选择这个方案。

我最后实施的方案是在同一台电脑上面安装虚拟机,在虚拟机上面安装另外的mysql数据库。最后才实现两台数据库的功能。之所以跟大家讲这些过程挫折。。。。是希望大家少走一些弯路或者多一些考虑。

首先说明一下:这种主从同步都是通过mysql数据库本身的机制实现的,完全不需要我们写任何代码来维护这种同步关系。所以本质就是配置一些信息让mysql启动这种主从同步功能。下面看具体操作步骤:

一:安装两台mysql数据库服务器,一台是在本机上面作为Master数据库,另一台是在虚拟机上面是作为Slave从数据库。本机的端口号是:3306 ip地址是:192.168.88.22

二:.配置主从数据库服务器:MASTER主数据库 ,SLAVE从数据库 具体的配置过程如下:

MASTER主数据库配置(windows):

(1)在Master MySQL上创建一个用户‘wolzq’,并允许其他Slave服务器可以通过远程访问Master,通过该用户读取二进制日志,实现数据同步。

首先在mysql命令控制台上面创建wolzq用户,具体的sql为:create user wolzq

为这个用户赋予相应的权限,这里我赋值的是最大的权限。也就是该用户可以从任何的ip地址登陆访问数据库,可以操作所有的数据库表。具体的sql为: GRANT ALL PRIVILEGES ON *.* TO wolzq@'%' IDENTIFIED BY '220316'; FLUSH PRIVILEGES;

这里需要注意的几点是:

1.FLUSH PRIVILEGES;这个命令必须填写,否则上面设置的用户权限失效。

2.ip地址是可以设置范围的。例如:GRANT REPLICATION SLAVE ON *.* TO 'wolzq'@'192.168.0.%' IDENTIFIED BY '220316';

3.操作的数据库也是可以指定的。

4.用户的权限也是可以设置的。具体的命令大家可以自己去学习,我这里就不多说了。

如果不设置用户权限的话,本地可以连接的上mysql服务器,局域网或者外网是连接不上,会显示连接被拒绝或者用户没有这个权限。除此之外权限还可以精确到某个数据库,连接者的IP地址区间,设置是某个数据的操作问题等等都可以进行设置。我这边设置的是wolzq这个用户具备所有用户数据库的权限,所有的ip地址都可以通过Master这个用户来连接主数据库。

(2)找到MySQL安装文件夹修改my.ini文件。mysql中有好几种日志方式,这不是今天的重点。我们只要启动二进制日志log-bin就ok。

#开启主从复制,主库的配置

log-bin= mysql3306-bin

#指定主库serverid

server-id=101

#指定同步的数据库,如果不指定则同步全部数据库

#binlog-do-db=(数据库名称)

这里需要注意的几点是:

my.ini文件说明一下:

server-id=101这个ID值需要是唯一的,

binlog-do-db=mybatis_1128这个是表示同步的数据库,如果不指定则同步全部数据库

我刚开始的时候指定了这个数据库,然后新建数据库发现一直没有同步成功,找了半天才发现是因为这个配置的存在导致新建数据库没有同步到其他的Slave数据库里面去。所以这里也是需要注意的。

(3)查看日志

mysql> SHOW MASTER STATUS;

重启MySQL服务(到这里Master主数据库就配置完毕了)

SLAVE从数据库配置(windows):

(1)找到MySQL安装文件夹修改my.ini文件,在文件的最下面增加下面几行代码

#指定serverid,只要不重复即可,从库也只有这一个配置,其他都在SQL语句中操作

server-id=102

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

重启MySQL服务

(2)连接Master

change master to

master_host='192.168.88.22', //Master 服务器Ip地址,也就是上面写的192.168.88.22

master_port=3306,//Master 端口号

master_user='wolzq',//Master 用户名

master_password='220316', //用户密码

master_log_file='master-bin.000003,//Master服务器产生的日志要和Master服务器所配置的相互对应如下如所示的file对应

master_log_pos=0;//要和Master服务器所配置的相互对应如下如所示的Position对应(经过测试发现如果是一样的只能同步一次,所以这里修正成0,0是可以每次都同步成功的)

(3)启动Slave

start slave;

(4) 查看配置是否成功

如果显示yes就说明配置成功了,已经可以实现主从同步了。

OK所有配置都完成了,这时候大家可以在Master Mysql 中进行测试了,因为我们监视的时Master mysql  所有操作日志,所以,你的任何改变主服务器数据库的操作,都会同步到从服务器上。创建个数据库,表试试吧。。。

实验结果:

Mstaer数据库配置:

SLAVE数据库配置:

主从同步结果:

参考文献:

http://www.cnblogs.com/rwxwsblog/p/4542417.html

http://www.cnblogs.com/yuejin/archive/2013/11/12/3419467.html

http://www.cnblogs.com/alvin_xp/p/4162249.html

如果对上面的内容还有什么疑义或者问题都可以加我QQ:208017534咨询。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 零基础-项目开发经验分享

    前段时间分配到一个支付相关的需求,一个需要和前端对接的项目,需要涉及到前后端对接的问题。为了可扩展性,决定将支付项目独立为一个新的服务。新创建的项目,不熟悉的童...

    林老师带你学编程
  • 学校在线二手交易平台-服务器模块(本科生毕业设计)

    今天给大家介绍一下毕业设计是如何从无到有规划设计出来的。 对于这个过程我不会介绍某个具体的技术应用,而是会从总体的思路层面上面给大家总得分析介绍一下。 今天我就...

    林老师带你学编程
  • JQuery之cookie增删改查操作

    在Java Web开发中cookie一般有两种新建方法,一种是在Java中创建维护,另一种是在前端中创建和维护。 二者之间最大的区别就是:Java中的cooki...

    林老师带你学编程
  • 2020年6月数据库流行度排行:阿里云数据库创佳绩,华为GaussDB转型引热议

    墨墨导读:2020年6月号DB-Engines数据库流行度排行如约而至。在Top 10中,除了Microsoft Access跌出前十外,前九位的次序依旧没有任...

    数据和云
  • Navi.Soft31.代码生成器(含下载地址)

    1系统简介 1.1功能简述 在Net软件开发过程中,大部分时间都是在编写代码,并且都是重复和冗杂的代码.比如:要实现在数据库中10个表的增删改查功能,大部分代码...

    用户1219352
  • 解密小程序云开发数据库

    ? 作者:phoenixxliu,腾讯 TEG 后台开发工程师 目录: 导语 一、背景 二、竞品分析 三、需求和挑战 四、架构和方案 五、总结和展望 导语 小...

    腾讯技术工程官方号
  • 3

        在本篇中,我们将首先介绍数据库设计的基本方法,并附上了一个设计MS-SQL Server数据库的例子。然后以Delphi5为开发工具,标准的parado...

    py3study
  • Navi.Soft31.代码生成器(含下载地址)

    1系统简介 1.1功能简述 在Net软件开发过程中,大部分时间都是在编写代码,并且都是重复和冗杂的代码.比如:要实现在数据库中10个表的增删改查功能,大部分代码...

    用户1219352
  • 突破、进化,腾讯云数据库2018全年盘点

    在企业上云逐渐加速的背景下,云数据库作为企业重要的IT基础设施,其重要性毋庸置疑。各大云计算厂商不惜重金,纷纷在产品和技术层面加大布局,争夺这一重要的云服务市场...

    腾讯云数据库 TencentDB
  • 《Redis设计与实现》读书笔记(十一) ——Redis数据库与键空间

    《Redis设计与实现》读书笔记(十一) ——Redis数据库与键空间 (原创内容,转载请注明来源,谢谢) 一、redis数据库 redis服务器将所有数据库都...

    用户1327360

扫码关注云+社区

领取腾讯云代金券