前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怀英漫谈7 - Mysql主从复制

怀英漫谈7 - Mysql主从复制

作者头像
用户1335799
发布2018-06-07 11:31:11
4990
发布2018-06-07 11:31:11
举报
文章被收录于专栏:怀英的自我修炼

你好,上次我们简单地聊了一下Shiro。最近公司在准备项目部署的事情,并使用了Mysql的主从复制,今天就和你聊聊这个过程。

一开始的时候,我也没有想要单独去做主从,当初是打算做集群来着。后来发现集群有点儿困难,为了应对即将的上线,于是就将目标定为了:“先完成主从”。

什么是主从

所谓的主从,简单讲就是有两个数据库,主库提供一般的功能,从库在主库的数据变动的时候,将这些数据的变动同步到自己的身上。举个例子,主库在user表中新添加了一条记录,从库在主库添加完之后就也在自己的user表中添加了相应的记录。

好处

这样一来,如果主库出现了问题,那么可以继续用从库提供服务,如果这样的切换是同时的,且由机器自动完成,那么就仍然能够保证数据的提供。

便于理解的步骤

通常的步骤会有4个,分别是授权,修改配置文件,添加用户,检验,从机配置,连接主机。首先需要授权,即在安装Mysql数据库的服务器上打开3306的端口。如果是在阿里云上部署的话,那么在打开端口之后,还需要去配置安全组,使得3306的端口可以被访问。接下来就是要修改Mysql的配置,主要的一步就是添加bin_log的地址。再接着给主库添加一个用户,该用户是从库同步时与主库联系的用户名和密码,也正是因为如此,所以呢要给这个用户授予完全权限以及从机复制表的权限。这一步完成之后,重启主机的Mysql,查询Master的状态。如果看到了Master的状态是可用的,接下来就可以配置从机,连接主机了。

从机的配置主要是在server-id的添加,并在此之后添加一个relay-log,这一步完成之后就可以在从机上连接主机了。主要会用到change命令,在配置中出现的master_log_file对应show master status显示的File列,master_log_pos对应Position列。如果这个没有对应上的话,就会同步失败。紧接着在从库上创建与主库一样的数据库,用命令启动slave同步。如果看到Salave_IO_Runing与Salave_SQL_Running都是Yes,则表示配置成功。

遇到了坑怎么解决

我在配置的时候就遇到过一个问题:Salave_IO_Runing一直是no,不管从新配置多少次,依旧是这个结果。最终得益于某次的查询,发现是版本库不一样造成的,我的从库用的版本库的版本低于5.6。5.6的版本中加入了replication event checksum,主从复制时间校验功能,所以需要把这个关掉才能正常同步到5.5的slave。

清 单

  1. 配置之前需要检查一下版本号,高于5.6的版本方法上有不同。
  2. 配置中配主,再配从。
  3. 主的配置重点在用户的授权上,从的配置重点在用户的连接Master服务器的语句上。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 怀英的自我修炼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档