mysql 主从备份的原理:

主服务器在做数据库操作的时候将所有的操作通过日志记录在binlog里面,有专门的文件存放。如localhost-bin.000003,这种,从服务器 和主服务配置好关系后,通过I/O线程获取到这个binlog文件然后写入到从服务器的relaylog(中继日志)中,然后从服务器执行从服务器中的sql语句进行数据库的同步。

实现:

准备:两台服务器,mysql环境,可以是Windows,Linux,下面是两台Linux服务器,192.168.3.32(主),192.168.3.31(从)。

1. 配置主服务器上mysql的配置文件,配置文件在/etc/my.cnf
log_bin放开注释
server-id=1 新增
2. 重启数据库
systemctl start mysqld
3. 创建复制用户并赋权限给从服务器 把主服务的所有东西。

grant replication slave on *.* to 'slave'@'192.168.3.31' identified by 'Pangolin123!';

注:‘slave’是复制数据的用户名,'Pangolin123!'是密码。192.168.3.31 可以改成%,表示所有的从服务器都可以。不做限制。
4. 更新权限

flush privileges; 
5. 在从服务器上进行配置数据库
server-id=2 
6. 重启数据库
systemctl start mysqld
7. 在从服务器上进行从数据库的复制数据的配置

首先登录 mysql -uroot -p

stop slave;

change master to master_host='192.168.3.32', master_user='slave',
master_password='Pangolin123!',master_log_file='mysql-bin.000006',
master_log_pos=2060 ;

注:mysql-bin.000006 这个东西需要自己找,在mysql的安装目录 /var/lib/mysql下面

start slave;

show slave status \G;

查看是否正常:

这两个Yes表示正常。

8. 测试。

9. 错误总结:

错误1:从服务器 show slave status \G; 显示

Slave_IO_Running:NO

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Binary log is not open'

我解决的办法是重启一下就好了。

重启之后再mysql的目录下就可以看到  binlog的生成。

错误2

Slave_IO_Running:NO

Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'

解决方案:在主服务器上进行日志刷新

mysql -uroot -p

flush logs;

show master status;

显示这个,

然后到从服务器上重新配置binlog文件。

stop slave;

CHANGE MASTER TO MASTER_LOG_FILE='localhost-bin.000003',MASTER_LOG_POS=322;

start slave;

show slave status \G;

错误3:

Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master; the first event 'localhost-bin.000002' at 107, the last event read from './localhost-bin.000002' at 123, the last byte read from './localhost-bin.000002' at 126.'

是由于配置错了binlog文件的开始位置。参考错误2 重新配置即可。

主从配置已完,下篇是springboot项目怎么配置读写分离。

敬请期待。

mysql实现主从备份的更多相关文章

  1. mysql数据库主从备份

    近期实验室总是不给通知的就停电,导致我们在不停的恢复服务.在某一个断电的过程中,发现我们的项目管理工具redmine的硬盘挂掉了..因为是部署在虚拟机上的,也没做冗余,数据就丢了..于是反思,我们的m ...

  2. Linux下的Mysql的主从备份

    MySQL复制概述 MySQL数据库支持同步复制.单向.异步复制,在复制的过程中一个服务器充当主服务,而一个或多个服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循 ...

  3. mysql主从备份及常见问题处理

    1.mysql主从备份基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新 ...

  4. Mysql主从备份和SQL语句的备份

    MySQL服务器的主从配置,本来是一件很简单的事情,无奈不是从零开始,总是在别人已经安装好的mysql服务器之上 ,这就会牵扯到,mysql的版本,启动文件,等一些问题. http://www.cnb ...

  5. mysql主从备份+keepalived自动切换

    数据库这一层需要做到避免单点故障可以是主从备份和主主备份,主主备份可能有性能损耗和数据同步的问题.这里记录下主从备份, mysql进行备份之前确保mysql的版本是一样的,我这里用的都是mysql5. ...

  6. 检测MySQL主从备份是否运行

    通过查看 slave  状态,确保 Slave_IO_Running: Yes Slave_SQL_Running: Yes #!/bin/bash#Author:Darius-Dmysql -uro ...

  7. MySQL主从备份配置实例

    转载自:https://www.cnblogs.com/ahaii/p/6307648.html MySQL主从备份配置实例 场景: 1.主服务器192.168.0.225.从服务器192.168.0 ...

  8. mysql主从备份及原理分析

    一.mysql主从备份(复制)的基本原理mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更 ...

  9. mysql主从备份功能配置与測试

    在高訪问量服务环境下,单机配置mysql服务将无法满足频繁快速的数据读写操作. 一旦mysql出现故障造成数据丢失.无法恢复. 因此.在mysql服务上启用主从备份功能,支持读写分离技术.最靠可的是搭 ...

随机推荐

  1. 大型三甲医院医疗体检信息管理系统源码 PEIS 体检科软件 CS

    详情请点击查看 开发环境 :VS2008 + C# + SQL2000 功能介绍: 1:设置:操作员设置   系统功能设置    用户组权限设置  公告打印设置  数据字典设置  临床类型设置  体检 ...

  2. Angular路由——路由守卫

    一.路由守卫 当用户满足一定条件才被允许进入或者离开一个路由. 路由守卫场景: 只有当用户登录并拥有某些权限的时候才能进入某些路由. 一个由多个表单组成的向导,例如注册流程,用户只有在当前路由的组件中 ...

  3. 从数据库读取数据并动态生成easyui tree构结

    一. 数据库表结构 二.从后台读取数据库生成easyui tree结构的树 1.TreeNode树结点类(每个结点都包含easyui tree 的基本属性信息) import java.io.Seri ...

  4. Java 面试知识点解析(二)——高并发编程篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  5. Net Core 生成图形验证码

    1. NetCore ZKweb       在我第一次绘制图形验证码时是采用的ZKweb的绘制库,奉上代码参考      public byte[] GetVerifyCode(out string ...

  6. 洛谷 P1430 解题报告

    P1430 序列取数 题目描述 给定一个长为\(n\)的整数序列\((n<=1000)\),由\(A\)和\(B\)轮流取数(\(A\)先取).每个人可从序列的左端或右端取若干个数(至少一个), ...

  7. js万年历,麻雀虽小五脏俱全,由原生js编写

    对于前端来说,我们可能见到最多的就是各种各样的框架,各种各样的插件了,有各种各样的功能,比如轮播啊,日历啊,给我们提供了很大的方便,但是呢?我们在用别人这些写好的插件,框架的时候,有没有试着问一问自己 ...

  8. HTML DOM对象的属性和方法

    HTML DOM对象的属性和方法 HTML DOM 对象有几种类型: 1.Document 类型 在浏览器中,Document 对象表示整个 HTML 文档. 1.1属性 引用文档的子节点 docum ...

  9. Jenkins配置报告与邮件插件

    用jenkins做持续集成时,需要发送报告与邮件,下面说一下如何配置报告与邮件的插件 1:配置报告插件 我们先装一个Report插件,在系统管理-管理插件中找  HTML Publisher plug ...

  10. MySql在生产环境中是用mysqldump还是xtrabackup备份和恢复数据

    如题,究竟该使用mysqldump还是xtrabackup,要说用,两个都能备份,都支持热备,但是生产环境我们要考虑的是效率,就是不管备份还是恢复,都要快,要稳定. 之前我在维护mysql数据库的时候 ...