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. XGBoost算法--学习笔记

    学习背景 最近想要学习和实现一下XGBoost算法,原因是最近对项目有些想法,准备做个回归预测.作为当下比较火的回归预测算法,准备直接套用试试效果. 一.基础知识 (1)泰勒公式 泰勒公式是一个用函数 ...

  2. HTML学习笔记:2.基础语法

    HTML基本结构 HTML标签 HTML元素 HTML属性 注释 ①基本结构 <html> html:指明是个html文件 <head> <title>标题< ...

  3. Java基础:Java的四种引用

    在Java基础:java虚拟机(JVM)中,我们提到了Java的四种引用.包括:强引用,软引用,弱引用,虚引用.这篇博客将详细的讲解一下这四种引用. 1. 强引用 2. 软引用 3. 弱引用 4. 虚 ...

  4. 基于DP的LCS(最长公共子序列)问题

    最长公共子序列,即给出两个序列,给出最长的公共序列,例如: 序列1 understand 序列2 underground 最长公共序列undernd,长度为7 一般这类问题很适合使用动态规划,其动态规 ...

  5. 软工第五次作业——Python效能分析之四则运算生成器

    Github项目地址: https://github.com/JtvDeemo/elementary-arithmetic PSP PSP2.1 Personal Software Process S ...

  6. linux基础和vim基本使用

    Liunx基础 1. 目录  /:根目录,一般根目录只存放目录,在linux下有且只有一个根目录.所有的东西都是从这里开始,例如:/home就是先从根目录/开始,再进入到home目录.  /bin ...

  7. 原生javascript写自己的运动库(匀速运动篇)

    网上有很多JavaScript的运动库,这里和大家分享一下用原生JavaScript一步一步写一个运动函数的过程,如读者有更好的建议欢迎联系作者帮助优化完善代码.这个运动函数完成后,就可以用这个运动函 ...

  8. 《与C语言相恋》

    第一章 <与C语言相恋> 目录: 1.1 C语言的诞生 1.2 相恋C语言的理由 1.3 相恋C语言的7个步骤 1.4 目标代码文件,可执行文件和库 1.5 本章小结 C语言的诞生 197 ...

  9. 0517JS综合练习、挂事件练习

    <!DOCTYPE html><html>    <head>        <meta charset="UTF-8">      ...

  10. 领域驱动设计和Spring

    原文 http://static.olivergierke.de/lectures/ddd-and-spring/ 1.介绍这篇文章是的介绍一下领域驱动设计的基础构件.概念和Java的web应用(主要 ...