Mysql主从删字段_搭建mysql主从复制和删库数据恢复策略

本文介绍了如何搭建MySQL主从复制,包括在主机和从机上的配置,并提供了防止删库数据丢失的恢复策略,如一小时延迟从库和全量备份与增量备份的方法。此外,还提到了在Docker中搭建MySQL主从复制的可能性。
摘要由CSDN通过智能技术生成

搭建主从复制

主机:

[mysqld] 下增加

vim /etc/my.cnf

## 设置 server_id,一般设置为 IP

server_id=8

# # 复制过滤:需要备份的数据库,输出 binlog

binlog-do-db=testdb

#复制过滤:不需要备份的数据库,不输出(mysql 库一般不同步)

binlog-ignore-db=mysql

# 开启二进制日志,以备 Slave 作为其它 Slave 的 Master 时使用

log-bin=master-log-1

binlog_cache_size = 1M

# 主从复制的格式(mixed,statement,row,默认格式是 statement)

binlog_format=mixed

# 二进制日志自动删除/过期的天数。默认值为 0,表示不自动删除。

expire_logs_days=7

#slave_skip_errors=1062

# # relay_log 配置中继日志

#relay_log=edu-mysql-relay-bin

#log_slave_updates 表示 slave 将复制事件写进自己的二进制日志

#log_slave_updates=1

# 防止改变数据(除了特殊的线程)

#read_only=1

然后在主机里创建一个用户授予同步权限,专门用来进行复制:

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'sync_user'@'192.168.0.%' IDENTIFIED BY 'root';

然后show master status\G;

mysql> show master status\G;

*************************** 1. row ***************************

File: master-log-1.000002

Position: 584

Binlog_Do_DB: testdb

从机:

## 设置 server_id,一般设置为 IP

server_id=8

# # 复制过滤:需要备份的数据库,输出 binlog

binlog-do-db=testdb

# #复制过滤:不需要备份的数据库,不输出(mysql 库一般不同步)

binlog-ignore-db=mysql

# # 开启二进制日志,以备 Slave 作为其它 Slave 的 Master 时使用

log-bin=master-log-1

binlog_cache_size = 1M

# # 主从复制的格式(mixed,statement,row,默认格式是 statement)

binlog_format=mixed

# # 二进制日志自动删除/过期的天数。默认值为 0,表示不自动删除。

expire_logs_days=7

然后重启, 登录进去后配置主从关系组. master_log_file实时取上面的show master status 的File字段的值, master_log_pos 取Position的值,然后执行下面的命令:

mysql > stop slave;

mysql > change master to master_host='192.168.0.7',master_user='sync_user',master_password='root',master_log_file='master-log-1.000002',master_log_pos=120 ;

mysql > start slave;

最后查看 show slave status\G;

mysql> show slave status\G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.0.7

Master_User: sync_user

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: master-log-1.000002

Read_Master_Log_Pos: 120

Relay_Log_File: mysqld-relay-bin.000002

Relay_Log_Pos: 286

Relay_Master_Log_File: master-log-1.000002

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

其中 这两项都为Yes的话那就没什么问题了

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

直接开始主从同步吧

db快速回滚恢复,防止发生删库跑路.

一旦发生删库或其他危险性操作, 比如update不带条件式的修改(你又没开update保护), 那么跑路肯定不是第一选项的, 你起码得先尝试补救措施啊.

@1:一小时延迟从库

一小时间隔后重新连上主机把所有的数据全部同步过来,然后立马断开,这个从库会与主库保持1个小时的数据差距. 在搭好的主从同步的从机上执行:

mysql> stop slave;

mysql> change master to master_delay = 1800; #1800s后才同步

mysql> start slave;

但这个有个缺点就是: 从库在连上主库进行同步的一小段时间内刚好发生了删库事故或其他update不带条件的灾难,这个时候根本无法恢复. 因此最好开设双份的1小时延迟同步: 即对第一台从机执行一次延时1小时的命令change master to master_delay=3600;

过过半小时后再对另一台从机执行change master to master_delay=3600;

那么现在这两台从机就有半小时的同步间隔时间,即使事故发生在第一台从机连接的时候,仍旧有半小时的补救时间.

@2.另外就是全量备份 + 增量备份(用硬盘定时拷贝了)

Docker搭建MySQL主从复制

Docker搭建MySQL主从复制 主从服务器上分别安装Docker 1.1 Docker 要求 CentOS 系统的内核版本高于 3.10 [root@localhost ~]# uname -r ...

两主机搭建MySQL主从复制后,show slave status显示:Last_IO_Error: error connecting to master ……

两台主机A.B搭建mysql主从复制关系(A为master,B为slave)后,在slave上执行show slave status,结果中显示Last_IO_Error: error connect ...

Linux CentOS 安装MySql以及搭建MySql主从复制

前言 在之前的博客中,有过几篇都写了关于mysql在linux下的搭建教程,可能以后还会再写,但是又不想重复在写, 于是便想单独将此抽出来,单独写成一篇博客,并详细记录一些安装过程以及遇到的问题解决办 ...

基于Docker搭建MySQL主从复制

摘要: 本篇博文相对简单,因为是初次使用Docker,MySQL的主从复制之前也在Centos环境下搭建过,但是也忘的也差不多了,因此本次尝试在Docker中搭建. 本篇博文相对简单,因为是初次使用D ...

my03_使用空数据库搭建Mysql主从复制

无数据的主从复制,就搭建一套主从结构的空库,这个是最简单的,先说说这种主从的搭建思路,有利于理解Mysql主从复制1. 安装两套mysql单实例数据库,一个作为主库.一个作为从库:注意要设置两个数据库 ...

【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构

一.业务发展驱动数据发展 随着网站业务的不断发展,用户量的不断增加,数据量成倍地增长,数据库的访问量也呈线性地增长.特别是在用户访问高峰期间,并发访问量突然增大,数据库的负载压力也会增大,如果架构方案 ...

MySQL 多实例删库脚本

DB版本:5.5.14 OS:CentOS 6.3 在测试环境中,在一台服务器上创建多个实例,在每个实例中一个一个删库比较麻烦,因此用下面脚本,可以直接删除所有库,除了系统库以外: #!/bin/ba ...

mysql数据库从删库到跑路之mysql存储引擎

一 什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件应该有不同的类型:比如存文本用txt类型,存表格用excel,存图片用pn ...

随机推荐

android 遇到问题未处理

在gridview 全屏,然后上面增加一个悬浮按钮,这样的布局如何设置 问题点,用相对布局,在代码寻找gridview的id时就报错了

linux命令每日一练习-rmdir mv

rmdir 删除一个空的文件夹,当目标文件夹非空的时候不能删除 mv 移动文件或目录 mv source target mv -i *** *** 如果目标文件存在则询问是否覆盖 mv -f *** ...

_EPROCESS结构简单了解!

_EPROCESS结构简单了解! lkd> dt _EPROCESSnt!_EPROCESS   +0x000 Pcb              : _KPROCESS   +0x06c Pro ...

HTML中的<select>标签如何设置默认选中的选项

方法有两种. 第一种通过的属性来设置选中项,此方法可以在动态语言如php在后台根据需要控制输出结果. 1 2 3 4 5

HDU 2196-Computer(树形dp)

题意: 给出电脑网络连接树,求每个节点的为起点的最长距离 分析: 这道题开始状态想不出来,放了一段时间,后来注意到例题上有这道题,每个节点的最长距离可由父节点的最长距离,次长距离,和子节点的最长距离( ...

Android Studio指定引用jnilibs 特定CPU架构的so库文件

稍微大一些的项目都会用到第三方库,所以不可避免的会有针对不同手机cpu架构的.so库文件 'x86', 'x86_64', 'mips', 'mips64'  'armeabi' ,'armeabi- ...

Uploadify火狐出现302错误

$(function () { var auth = "@(Request.Cookies[FormsAuthentication.FormsCookieName] == null ? st ...

【Android】11.4 Fragment及其生命周期

分类:C#.Android.VS2015: 创建日期:2016-02-22 一.简介 Android从3.0开始引入了fragment的概念,主要是为了支持在大屏幕上实现更为动态和灵活的UI设计,比如 ...

XShell上传和下载

工具:XShell 本地环境:win7操作系统 远程服务器环境:linux系统 1.将本地的文件上传到远程服务器上 可以使用rz命令 rz命令详细使用方法可以在xshell中输入:rz -h 2.将远 ...

shipyard

https://www.ivankrizsan.se/2016/07/10/managing-containers-shipyard/ kubernetes中文社区:https://www.kuber ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值