我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL中怎么实现延时备份

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL中怎么实现延时备份

MySQL中怎么实现延时备份,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。


 
1、     maatkit工具集简介
 
maatkit是一个包括多个实用MySQL的工具集,使用它们,可以让你的MySQL服务器使用起来更加方便也更加安全。maatkit是开源的软件,你可以自由的改进软件并将自己作出的改进版本向社会发行传播。
 
maatkit工具目前包含26个不同功能的工具。
 
主要有:
 
mk-archiver,mk-audit,mk-find,mk-kill,mk-heartbeat,mk-query-digest,mk-parallel-dump,mk-parallel-restore,mk-show-grants ,mk-slave-delay,mk-slave-move,mk-slave-restart等工具。
 
顾名思义mk-slave-delay是延时备份工具。mk-slave-delay控制MySQL slave端,使它滞后于其master。
 
2、     maatkit安装
:http://code.google.com/p/maatkit/
 
安装步骤:
 
tar -zxf maatkit-<version>.tar.gz
 
cd maatkit-<version>
 
perl Makefile.PL
 
make install
 
###
 
# make install
 
&hellip;.
 
Installing /usr/bin/mk-index-usage
 
Installing /usr/bin/mk-slave-delay
 
Installing /usr/bin/mk-archiver
 
Installing /usr/bin/mk-checksum-filter
 
Installing /usr/bin/mk-slave-prefetch
 
Installing /usr/bin/mk-log-player
 
Installing /usr/bin/mk-query-profiler
 
Installing /usr/bin/mk-slave-move
 
Installing /usr/bin/mk-query-digest
 
Installing /usr/bin/mk-show-grants
 
Installing /usr/bin/mk-parallel-restore
 
Installing /usr/bin/mk-profile-compact
 
Installing /usr/bin/mk-find
 
Installing /usr/bin/mk-table-checksum
 
Installing /usr/bin/mk-fifo-split
 
Installing /usr/bin/mk-error-log
 
Installing /usr/bin/mk-visual-explain
 
Installing /usr/bin/mk-variable-advisor
 
Installing /usr/bin/mk-kill
 
Installing /usr/bin/mk-heartbeat
 
Installing /usr/bin/mk-purge-logs
 
Installing /usr/bin/mk-query-advisor
 
Installing /usr/bin/mk-parallel-dump
 
Installing /usr/bin/mk-merge-mqd-results
 
Installing /usr/bin/mk-duplicate-key-checker
 
Installing /usr/bin/mk-upgrade
 
Installing /usr/bin/mk-deadlock-logger
 
Installing /usr/bin/mk-slave-restart
 
Installing /usr/bin/mk-slave-find
 
Installing /usr/bin/mk-loadavg
 
Installing /usr/bin/mk-table-sync
 
3、     文档帮助
man /usr/bin/mk-slave-delay
 
/usr/bin/mk-slave-delay &ndash;help
 
4、     mk-slave-delay使用
示例:
 
mk-slave-delay &ndash;delay 1m &ndash;interval 15s &ndash;run-time 10m slavehost
 
延时运行10分钟,slave滞后master1分钟,15秒检查下次延时情况。
 
详细参数说明:
 
Usage: mk-slave-delay [OPTION...] SLAVE-HOST [MASTER-HOST]
 
Options:
 
&ndash;ask-pass            Prompt for a password when connecting to MySQL
 
&ndash;charset=s       -A  Default character set
 
&ndash;config=A            Read this comma-separated list of config files; if
 
specified, this must be the first option on the command
 
line
 
&ndash;[no]continue        Continue replication normally on exit (default yes)
 
&ndash;daemonize           Fork to the background and detach from the shell
 
&ndash;defaults-file=s -F  Only read  options from the given file
 
&ndash;delay=m             How far the slave should lag its master (default 1h).
 
Optional suffix s=seconds, m=minutes, h=hours, d=days;
 
if no suffix, s is used.
 
&ndash;help                Show help and exit
 
&ndash;host=s          -h  Connect to host
 
&ndash;interval=m          How frequently mk-slave-delay should check whether the
 
slave needs to be started or stopped (default 1m).
 
Optional suffix s=seconds, m=minutes, h=hours, d=days;
 
if no suffix, s is used.
 
&ndash;log=s               Print all output to this file when daemonized
 
&ndash;password=s      -p  Password to use when connecting
 
&ndash;pid=s               Create the given PID file when daemonized
 
&ndash;port=i          -P  Port number to use for connection
 
&ndash;quiet           -q  Don&rsquo;t print informational messages about operation
 
&ndash;run-time=m          How long mk-slave-delay should run before exiting.
 
Optional suffix s=seconds, m=minutes, h=hours, d=days;
 
if no suffix, s is used.
 
&ndash;set-vars=s          Set these MySQL variables (default wait_timeout=10000)
 
&ndash;socket=s        -S  Socket file to use for connection
 
&ndash;use-master          Get binlog positions from master, not slave
 
&ndash;user=s          -u  User for login if not current user
 
&ndash;version             Show version and exit
 
5、     延时原理
mk-slave-delay 定时地starts /stops slave的sql_thread,以使其达到滞后master的目的。
 
2011-02-15T14:46:19 START SLAVE until master 2011-02-15T06:46:17 apollo226-bin.000290/779116659
 
2011-02-15T14:46:19 START SLAVE until master 2011-02-15T06:46:18 apollo226-bin.000290/781852897
 
6、     应用布署
脚本my_slave_delay.sh集中控制延时备份DB服务器.
 
服务器信息以host_ip port 的格式存在delay_host配置文件中。
 
head delay_host.txt
 
10.xx.xx.xxx 3601
 
usage1: sh my_slave_delay.sh
 
usage2: sh my_slave_delay.sh [delay_host] [delay] [interval]
 
my_slave_delay核心代码:
 
delay_host=$1
 
delay_host=${delay_host:-”delay_host.txt”}
 
delay=$2
 
delay=${delay:-”8h”}
 
interval=$3
 
interval=${interval:-”2m”}
 
log_file=”my_slave_delay.log”
 
my_slave_delay(){
 
cat $delay_host |grep -v &lsquo;#&rsquo; | while read host port
 
do
 
echo ” /usr/bin/mk-slave-delay  -h $host -P $port &ndash;interval=$interval  &ndash;delay=$delay &”
 
echo ” /usr/bin/mk-slave-delay  -h $host -P $port &ndash;interval=$interval  &ndash;delay=$delay &”>>$log_file
 
/usr/bin/mk-slave-delay  -h $host -P $port &ndash;interval=$interval  &ndash;delay=$delay &
 
sleep 1
 
done
 
}
 
### 取消延时
 
my_slave_start(){
 
echo “my_slave_start”
 
ps aux |grep “mk-slave-delay -h” -i |grep -v “grep” |  awk &lsquo;{print $2,$14,$16}&rsquo; | while read pid host port ;
 
do
 
echo “stop slave delay <$host:$port>”;
 
kill  -9 $pid
 
echo “slave start sql_thread <$host:$port>”
 
echo “slave start sql_thread;” | mysql -h $host -P$port -N
 
done;
 
echo “my_slave_start done.”
 
}

看完上述内容,你们掌握MySQL中怎么实现延时备份的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL中怎么实现延时备份

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql数据库定时备份怎么实现

有多种方法可以实现MySQL数据库的定时备份,以下是其中一种常用的方法:使用crontab定时任务:首先创建一个备份脚本,比如backup.sh,该脚本可以使用mysqldump命令来备份数据库,如下所示:#!/bin/bashmysql
mysql数据库定时备份怎么实现
2024-04-12

mysql热备份怎么实现

MySQL热备份可以通过以下几种方式来实现:使用MySQL官方提供的工具:MySQL Enterprise Backup。该工具可以在运行时执行备份操作,而不会中断数据库的正常运行。它可以创建完整备份、增量备份和压缩备份,以满足不同的需求。
mysql热备份怎么实现
2024-05-22

RHEL5 中怎么实现mysql自动备份

这篇文章将为大家详细讲解有关RHEL5 中怎么实现mysql自动备份,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 创建shell脚本文件filename=`date +%Y%m%d_%
2023-06-16

linux中mysql自动备份怎么实现

在Linux系统中,可以通过cron任务定时执行mysqldump命令来实现MySQL数据库的自动备份。以下是步骤:编辑crontab文件,执行命令crontab -e进入编辑模式。添加一行代码来设置定时执行mysqldump命令,例如:
linux中mysql自动备份怎么实现
2024-05-11

Node定时备份MySQL的实现

本文主要介绍了Node定时备份MySQL的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-17

编程热搜

目录